首页 > Pyhton3:第2章 Python基础语法入门 > 2.4 字符串类型变量的常见操作

针对字符串类型的变量,Python提供的内置函数就更加丰富了。

len():返回字符串的长度。

print(len("15812345678")) --返回11

lower():大写转小写;

str="Hello,World!"
print(str.lower())

upper():小写转大写;

str="Hello,World!"
print(str.upper())

casefold():大写转小写;
capitalize():首字母转大写;
swapcase():大小写互换;

str1="Hello,World!"
str2="hello,world!"
print(str1.casefold())
print(str2.capitalize())
print(str1.swapcase())

str[begin:end:step] :对字符串切片。

  • Begin:截取的开始位置(包括该位置本身);若大于0,则代表从前向后的位置;若小于0,则代表从后往前的位置;
  • End:截取的结束位置(不包括该位置本身) ;若大于0,则代表从前向后的位置;若小于0,则代表从后往前的位置;
  • Step:步长;若大于0,则从前向后取;若小于0,则从后向前取;默认为1;
str="abcdefghij"
str[1:5]="bcde"
str[:]="abcdefghij"
str[:-6]="abcd"
str[1:5:2]="bd"
str[-1:-5:-2]="jh"

切片时,可使用从前向后的位置索引,也可以使用从后向前的位置索引。两个方向的位置索引如下:

count():查找字符串a在字符串b中出现的次数,若不存在,则返回0;否则返回出现的次数;

str1="Hello,my name is jam!"
print(str1.count("am"))
print(str1.count("am",15))
print(str1.count("am",10,18))

find():查找字符串a在字符串b中第一次出现的位置(从第0位开始),若不存在,则返回-1;否则返回第一次出现的位置;

str="Hello,my name is jam!"
str[1:5]="bcde"
str[:]="abcdefghij"
str[:-6]="abcd"
str[1:5:2]="bd"
str[-1:-5:-2]="jh"

rfind():与find()类似,但是从右向左查找。

print(str.rfind("m"))
print(str.rfind("m",2))
print(str.rfind("m",8,15))

index():与find函数功能一样,只不过当查找的字符串不存在时,index函数会抛出异常,如果对异常没有处理,则程序会报错退出;

str="Hello,my name is jam!"
print(str.index("m"))
print(str.index("m",2))
print(str.index("m",8,15))
#print(str.index("hello")) #抛出错误异常

rindex():与index()类似,只是从右向左查找。

print(str.rindex("m"))
print(str.rindex("m",2))
print(str.rindex("m",8,15))

startwith():判断字符串是否以指定的字符串开头;

str="Hello,my name is jam!"
print(str.startswith("Hello"))
print(str.startswith("hello"))

endwith():判断字符串是否以指定的字符串结尾;

str="Hello,my name is jam!"
print(str.endswith("!"))
print(str.endswith("!"))

replace():将字符串中的旧内容替换为新内容(默认全部替换,第三个参数指定最多替换多少次);

str="Hello,my name is jam!"
print(str.replace("m","M"))
print(str.replace("m","M",2))

strip():去除字符串左、右两边的空格及特殊字符,或指定字符;

str=" Hello,my name is jam!\n"
print(str.strip())
str="Hello,my name is jam!!!"
print(str.strip("H!"))

lstrip():与strip函数的功能相似,只不过只会去除字符串左边的空格及特殊字符,或指定字符;

rstrip():与strip函数的功能相似,只不过只会去除字符串右边的空格及特殊字符,或指定字符;

特殊字符包括:空格、制表符\t、回车符\r、换行符\n

还有一些其他的字符串内置函数,但使用的并不多。

str="Hello2008"
print(str.isalnum()) #是否全是字母和数字,并至少有一个字符
print(str.isalpha()) #是否全是字母,并至少有一个字符
print(str.isdigit()) #是否全是数字,并至少有一个字符
print(str.isspace()) #是否全是空白字符,并至少有一个字符
print(str.islower()) #str中的字母是否全是小写
print(str.isupper()) #str中的字母是否全是大写
print(str.istitle())  #str是否是首字母大写的
picture loss