一. 大小写转换
① 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********'