一. 大小写转换
① capitalize()
capitalize() #字符串首字母大写
>>> str0 = 'hello World' >>> str0.capitalize() 'Hello world'
②upper(), lower()
upper() #将字符串的所有小写字符转化为大写
lower() #将字符串的所有大写字符转化为小写
>>> str1 = 'Hello World' >>> str1.upper() 'HELLO WORLD' >>> str1.lower() 'hello world'
③swapcase()
swapcase() #将字符串中的大写字符改为小写,小写字符改为大写
>>> str1 = 'Hello World' >>> str1.swapcase() 'hELLO wORLD'
二. 内容判断
①startswith(),endswith()
startswith() #判断字符串是否以指定参数开始,返回True或False
endswith() #判断字符串是否以指定参数结束,返回True或False
>>> str1 = 'Hello World' >>> str1.startswith('h') False >>> str1.endswith('d') True
tip:判断时大小写是要区分的,可以添加第二、三个参数来限定范围。
②isupper(),islower()
isupper() #如果字符串中的字母均为大写返回True,否则返回 False
islower() #如果字符串中的字母均为小写返回True,否则返回 False
>>> str1 = 'Hello World' >>> str2 = '123asdxfgs...' >>> str1.isupper() False >>> str2.islower() True
tip:字符串中可以含数字和特殊字符
③isalpha(),isdigit(),isalnum()
isalpha() #如果字符串中只包含字母返回 True,否则返回 False
isdigit() #如果字符串中只包含数字返回 True,否则返回 False
isalnum() #如果字符串中只包含字母或数字返回 True,否则返回 False
>>> str3 = '123456789' >>> str2 = '123asdxfgs...' >>> str3.isalpha() False >>> str3.isdigit() True >>> str2.isalnum() False
三. 内容查找
find(),rfind(),index(),rindex()
find() #查找指定参数是否在字符串中,查找成功返回字符下标,失败则返回-1
rfind() #功能和find()一致,但查找方向从右边开始
index() #和find功能一样,但查找失败会产生错误
rindex() #功能和index()一致,但查找方向从右边开始
>>> str2 = '123asdxfgs...' >>> str2.find('123') 0 >>> str2.find('1234') -1 >>> str2.index('x') 6 >>> str2.index('b') Traceback (most recent call last): File "<pyshell#33>", line 1, in <module> str2.index('b') ValueError: substring not found >>> str4 = 'test88ooo88' >>> str4.find('88') 4 >>> str4.rfind('88') 9
tip:可以加上第二、三个参数来限制范围。
四. 替换, 添加, 删除
①strip(),lstrip(),rstrip()
strip() #默认删除字符串前后的空格,若加上参数,则改为删除字符串前后的该参数
lstrip() #去掉字符串前面的空格,若加上参数,则改为删除字符串前的该参数
rstrip() #删除字符串末尾的空格,若加上参数,则改为删除字符串后的该参数
>>> str5 = ' content ' >>> str5.lstrip() 'content ' >>> str5.rstrip() ' content' >>> str5.strip() 'content' >>> str5.strip('t') ' content ' >>> str6 = '123and123' >>> str6.strip('123') 'and' >>> str6.lstrip('123') 'and123'
tip:strip()
只能删除字符串前后的指定内容,不能误解为删除该字符串中所有的该字符,若想实现此功能,建议使用replace()
。
②replace()
replace(old,new[,count]) #将字符串中的所有old用new替换,若使用count参数,则替换次数不超过count次。
>>> str7 = 'xxHxexlxxlxo Wxxxxorld' >>> str7.replace('x', '') 'Hello World' >>> str7.replace('x', 'A') 'AAHAeAlAAlAo WAAAAorld' >>> str7.replace('x', 'A', 1) 'AxHxexlxxlxo Wxxxxorld'
③format()
format() #格式化字符串
>>> "姓名:{}, 性别:{}".format('张三','男') '姓名:张三, 性别:男' >>> "姓名:{a}, 性别:{b}".format(b='男',a='张三') '姓名:张三, 性别:男'
tip:常与{}一起使用,参数个数由自己决定。
④join()
join() #以原字符串作为分隔符,插入到参数中每个字符之间。
>>> str_break = 'xx' >>> str_break.join('AB') 'AxxB' >>> str_break.join('ABC') 'AxxBxxC'
五. 分割
①split(), rsplit()
split() #以第一个参数为分隔符分割字符串,返回一个列表
rsplit() #和split()功能相同,但是从右边开始分割
>>> str8 = 'AxxBxxC' >>> str8.split('xx') ['A', 'B', 'C'] >>> str8.split('x') ['A', '', 'B', '', 'C'] >>> str8.split('xxx') ['AxxBxxC']
tip:可以加上第二个参数限制次数。
>>> str8.split('xx', 1) ['A', 'BxxC']
②partition(),rpartition()
partition() #将字符串从参数处分成'参数前','参数','参数后'三段,返回一个三元元组
rpartition() #功能和partition()一致,但从右边开始
>>> str8 = 'AxxBxxC' >>> str8.partition('xx') ('A', 'xx', 'BxxC') >>> str8.rpartition('xx') ('AxxB', 'xx', 'C') >>> str8.partition('zzz') ('AxxBxxC', '', '')
tip:若找不到参数,则返回('字符串', '', '')
六. 计数
count()
count() #参数为字符串的一个子串,返回该子串出现的次数
>>> str8 = 'AxxBxxC' >>> str8.count('xx') 2
tip:可以加上第二,三个参数来限定范围。
七、其他
center()
center() #将某字符串居中,并以指定字符填充至指定长度。
>>> "test".center(20, '*') '********test********'