1.capitalize
#将字符串的第一个字符转换为大写
str1='abc123'
print(str1.capitalize()) # Abc123
2.casefold
#将字符串设为小写
str1 = 'HELLO,hello,HelLo'
print(str1.casefold()) #hello,hello,hello
3.center
#返回一个指定的宽度 width ,原字符串居中的字符串,fillchar 为填充的字符,默认为空格。
str1='abc123'
str2=str1.center(10,'0')
print(str2) # 00abc12300
4.count
#统计个数
str1='abc123abc'
str2=str1.count('a')
print(str2) # 2
5.endswith
# 判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False
str1='abc123abc'
print(str1.endswith('bac')) # False
6.expandtabs
# 把字符串中的 tab 符号 \t 转为空格,tab 符号 \t 默认的空格数是 8,在第 0、8、16…等处给出制表符位置,如果当前位置到开始位置或上一个制表符位置的字符数不足 8 的倍数则以空格代替。
str = "runoob\t12345\tabc"
print('原始字符串:', str)
# 原始字符串: runoob 12345 abc
# 默认 8 个空格
# runnob 有 6 个字符,后面的 \t 填充 2 个空格
# 12345 有 5 个字符,后面的 \t 填充 3 个空格
print('替换 \\t 符号:', str.expandtabs())
# 替换 \t 符号: runoob 12345 abc
# 2 个空格
# runnob 有 6 个字符,刚好是 2 的 3 倍,后面的 \t 填充 2 个空格
# 12345 有 5 个字符,不是 2 的倍数,后面的 \t 填充 1 个空格
print('使用 2 个空格替换 \\t 符号:', str.expandtabs(2))
# 使用 2 个空格替换 \t 符号: runoob 12345 abc
# 3 个空格
print('使用 3 个空格:', str.expandtabs(3))
# 使用 3 个空格: runoob 12345 abc
# 4 个空格
print('使用 4 个空格:', str.expandtabs(4))
# 使用 4 个空格: runoob 12345 abc
# 5 个空格
print('使用 5 个空格:', str.expandtabs(5))
# 使用 5 个空格: runoob 12345 abc
# 6 个空格
print('使用 6 个空格:', str.expandtabs(6))
# 使用 6 个空格: runoob 12345 abc
7.find和rfind
# 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1(find)
# rfind类似于 find()函数,不过是从右边开始查找.
str1='abc123abc'
print(str1.find('3ab')) # 5
print(str1.rfind('a')) # 6
8.format
#把指定字符串值格式化为指定格式
print("{} {}".format("hello", "world")) # 不设置指定位置,按默认顺序
'hello world'
print("{0} {1}".format("hello", "world")) # 设置指定位置
'hello world'
print("{1} {0} {1}".format("hello", "world")) # 设置指定位置
'world hello world'
9.format_map
#把指定字符串值格式化为指定格式,仅用于字符串格式中可变数据参数来源于字典等映射关系数据
student={'name':'小明','class':'20190301','score':597.5}
使用format方法:
s1='{st[class]}班{st[name]}总分:{st[score]}'.format(st=student)
改用format_map方法:
student={'name':'小明','class':'20190301','score':597.5}
s1='{class}班{name}总分:{score}'.format_map(student)
执行结果都是:'20190301班小明总分:597.5'
10.index和rindex
# 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内
# 类似于 index(),不过是从右边开始.
str1='abc123abc'
print(str1.index('c12')) # 2
str2 = "ABCabcABC"
print (str2.rindex('A')) # 6
11.isalnum
# 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
str1='abc123abc!'
print(str1.isalnum()) # False
12.isalpha
# 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
str1='abc你好'
print(str1.isalpha()) # True
13.isascii
# 如果字符串为空或字符串中的所有字符都是 ASCII,则返回 True,否则返回 False(ASCII 字符的码位在 U+0000-U+007F 范围内)
a = 'AaqdKdnwk'
print(a.isascii())
#True
d = '我爱一条柴'
print(d.isascii())
#False
14.isdecimal
#检查字符串是否只包含十进制字符。这种方法只存在于unicode对象
str = "hello2022"
print str.isdecimal()
#True
str = "23443434"
print str.isdecimal()
#False
15.isdigit
# 如果字符串只包含数字则返回 True 否则返回 False
str1='123456789'
print(str1.isdigit()) # True
16.isidentifier
# 检查字符串是否是有效标识符
str1 = "MyFolder"
print(a.isidentifier())
#True
str2 = "2bring"
print(a.isidentifier())
#False
17.islower
# 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
str1='aaaaA'
print(str1.islower()) # False
str2='aaaa'
print(str2.islower()) # True
18.isnumeric
# 如果字符串中只包含数字字符,则返回 True,否则返回 False
str1='123456一'
print(str1.isnumeric()) # True
19.isprintable
#检查文本中的所有字符是否可打印
str1 = "Hello!\nAre you #1?"
print(str1.isprintable())
#False
20.isspace
# 如果字符串中只包含空白,则返回 True,否则返回 False.
str1=' '
print(str1.isspace()) # True
21.istitle和title
# (istitle)如果字符串是标题化的(见 title())则返回 True,否则返回 False
# (title)返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
str = "Hello!"
print (str.istitle()) # True
str2 = "HELLO WORLD!"
print(str2.title()) # Hello World!
22.isupper
# 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
str = "Hello!"
print (str.isupper()) # False
23.join
# 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
str = "Hello world!"
print ('###'.join(str)) # H###e###l###l###o### ###w###o###r###l###d###
24.partition和rpartition
#用来根据指定的分隔符将字符串进行分割
#和partition类似,从目标字符串的末尾开始搜索分割符
str1 = "Hello world"
print str1.partition(",")
#('Hello', ',', 'world')
str1 = "world,Hello,wold"
print str1.rpartition(",")
#('world,Hello', ',', 'wold')
25.len
# 返回字符串长度
str = "Hello world!"
print (len(str)) # 12
26.ljust和rjust
# 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
# 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
str = "Hello world!"
print (str.ljust(15,'+')) # Hello world!+++
str2 = "ABCabcABC"
print (str2.rjust(12,'+')) # +++ABCabcABC
27.lower和swapcase和upper
# 转换字符串中所有大写字符为小写(lower)
# 将字符串中大写转换为小写,小写转换为大写(swapcase)
# 转换字符串中的小写字母为大写(upper)
str = "Hello World!"
print (str.lower()) # hello world!
print(str.swapcase()) # hELLO wORLD!
print(str.upper()) # HELLO WORLD!
28.lstrip和strip和rstrip
# 截掉字符串左边的空格或指定字符(lstrip)
# 去掉两边的空白(strip)
# 删除字符串末尾的空格或指定字符(rstrip)
str = "Hello World!"
print (str.lstrip('Hello')) # World!
str2 = " Hello World! "
print(str2.strip()) # Hello World!
str3 = "ABCabcABC"
print (str3rstrip('ABC')) # ABCabc
29.maketrans和translate
# 创建字符映射的转换表(maketrans)
# 根据maketrans的表)转换string的字符(translate)
str1='今天星期1,昨天星期2,喜欢星期5的晚上,讨厌星期7的晚上'
table=str.maketrans('1234567','一二三四五六七')
result=str1.translate(table)
print(result) # 今天星期一,昨天星期二,喜欢星期五的晚上,讨厌星期七的晚上
30.max和min
# 返回字符串 str 中最大的字母(max),返回字符串 str 中最小的字母(min)
str = "ABCabc"
print (max(str)) # c
print (min(str)) # A
31.replace
# replace(字符串2,字符串3,N) —— 将字符串1中的N个字符串2替换成字符串3
str1='how are you ? I am fine,thank you,and you!'
str2=str1.replace('you','me') # how are me ? I am fine,thank me,and me!
str3=str1.replace('you','me',1) # how are me ? I am fine,thank you,and you!
32.split和rsplit
# 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
#类似于split()方法,只不过是从字符串最后面开始分割。
str = "ABCabcABC"
print (str.split('B')) # ['A', 'CabcA', 'C']
str1 = "this is string example....wow!!!"
print (str1.rsplit( )) #['this', 'is', 'string', 'example....wow!!!']
print (S.rsplit('i',1)) #['this is str', 'ng example....wow!!!']
33.splitlines
# 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换 # 行符,如果为 True,则保留换行符。
str = "ABCabcABC"
print (str.splitlines()) # ['ABCabcABC']
34.starswith
# 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则 # 在指定范围内检查。
str = "ABCabcABC"
print (str.startswith('AB')) # True
35.zfill
# 返回长度为 width 的字符串,原字符串右对齐,前面填充0
str = "Hello World!"
print(str.zfill(15)) # 000Hello World!