1 #首字母大写
2 str = "my name is zhangsan"
3 print(str.capitalize())
4 >>My name is zhangsan
5
6 #统计字符串里有几个字符
7 str = 'my name is zhangsan'
8 print(str.count('i')) #print(str.count('a',5,18))
9 >>1
10
11 #居中,不足按参数形式补全
12 str = 'my name is zhangsan'
13 print(str.center(50,'-'))
14 >>---------------my name is zhangsan----------------
15
16 #左对齐,右边不足按参数形式补全
17 str = "my name is zhangsan, and age is 22"
18 print (str.ljust(50,'-'))
19 >>my name is zhangsan, and age is 22----------------
20
21 #右对齐,左边不足按参数形式补全
22 str = "my name is zhangsan, and age is 22"
23 print (str.rjust(50,'-'))
24 >>----------------my name is zhangsan, and age is 22
25
26 #制表符转换为空格,参数为空格数量
27 str = 'my name is zh\tangsan'
28 print(str)
29 print(str.expandtabs(10))
30
31 #判断是否为相应字符结尾
32 str = 'my name is zhangsan'
33 print(str.endswith('san'))
34
35 #string转换为bytes
36 str = '我爱中国'
37 print(str.encode())
38 >>b'\xe6\x88\x91\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd'
39
40 #bytes转换为string
41 bs = b'\xe6\x88\x91\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd'
42 print(bs.decode())
43 >>我爱中国
44
45 #在规定位置查找字符,找到返回index,找不到-1
46 str = 'my name is zhangsan'
47 print(str.find('a',3,10))
48
49 #格式化字符串
50 str = 'my {} is {}'
51 print(str.format('name','zhangsan'))
52 >>my name is zhangsan
53 #可以不按顺序
54 str = 'my {1} is {0}'
55 print(str.format('name','zhangsan'))
56 >>my zhangsan is name
57 #也可以这样
58 str = 'my {a} is {b}'
59 print(str.format(b='name',a='zhangsan!!!'))
60 >>my zhangsan!!! is name
61
62 #用map方式格式化
63 str = "my name is {name}, and age is {age}"
64 print(str.format_map({'name':'zhangsan','age':'22'}))
65 >>my name is zhangsan, and age is 22
66
67 #判断是否全大写
68 str = 'AAA'
69 print(str.isupper())
70 >>True
71
72 #判断首字母大写
73 str = 'Aa'
74 print(str.istitle())
75 >>True
76
77 #判断是不是空格
78 str = ' '
79 print(str.isspace())
80 >>True
81
82 #判断是不是由数字字符组成的字符串
83 str = '111'
84 print(str.isnumeric())
85 >>True
86
87 #判断是否全字母组成
88 str = 'aaaa'
89 print(str.isalpha())
90 >>True
91
92 #检测指定str是否存在与原str中,可以指定开始结束,与find()区别在于,如果没查到会报异常
93 str = "my name is zhangsan, and age is 22"
94 print(str.index('a'))
95 >>4
96 print(str.index('x'))
97 >>ValueError: substring not found
98
99 #判断是否小写字母组成
100 str = 'aaa'
101 print(str.islower())
102 >>True
103
104 #判断是否字母和数字组成
105 str = 'a12Aaa'
106 print(str.isalnum())
107 >>True
108
109 #判断是否只由数字构成
110 str = '111'
111 print(str.isdigit())
112 >>True
113
114 #用于将序列中的元素以指定的字符连接生成一个新的字符串
115 str = "-";
116 seq = ("a", "b", "c"); # 字符串序列
117 print str.join( seq );
118 >>a-b-c
119
120 #转换字符串中所有大写字符为小写。
121 str = "my nAme is zhANGSAN, and age is 22"
122 print (str.lower())
123 >>my name is zhangsan, and age is 22
124
125 #移除字符串头尾指定的字符(默认为空格)
126 str = "*****this is string example....wow!!!*****"
127 print (str.strip( '*' ))
128 >>this is string example....wow!!!
129
130 #截掉字符串左边的空格或指定字符,默认为空格
131 str = "1111my name is zhangsan, and age is 221111"
132 print (str.lstrip('1'))
133 >>my name is zhangsan, and age is 221111
134
135 #截掉字符串右边的空格或指定字符,默认为空格
136 str = "1111my name is zhangsan, and age is 221111"
137 print (str.rstrip('1'))
138 >>1111my name is zhangsan, and age is 22
139
140 #intab替换为outtab,一一对应,转换为ASCII码格式,translate()把ASCII码转换为对于字符
141 intab = "aeiou"
142 outtab = "12345"
143 trantab = str.maketrans(intab, outtab)
144 print(trantab)
145 str = "this is string example....wow!!!"
146 print (str.translate(trantab))
147 >>{97: 49, 101: 50, 105: 51, 111: 52, 117: 53}
148 >>th3s 3s str3ng 2x1mpl2....w4w!!!
149
150 #返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
151 str = "http://www.w3cschool.cc/"
152 print(str.partition('//'))
153 >>('http:', '//', 'www.w3cschool.cc/')
154
155 #返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间
156 str = "1111my name is zhangsan, and age is 221111"
157 print (str.rindex('isx'))
158 >>ValueError: substring not found
159
160 #返回字符串最后一次出现的位置,如果没有匹配项则返回-1
161 str = "1111my name is zhangsan, and age is 221111"
162 print (str.rfind('isx'))
163 >>-1
164
165 #方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次
166 str = "this is string example....wow!!! this is really string"
167 print (str.replace("is", "was"))
168 print (str.replace("is", "was", 3))
169 >>thwas was string example....wow!!! thwas was really string
170 >>thwas was string example....wow!!! thwas is really string
171
172 #把字符串切割成列表,默认空格为切割符
173 str = " 1111my name is zhangsan, and age is 221111 "
174 print (str.split())
175 >>['1111my', 'name', 'is', 'zhangsan,', 'and', 'age', 'is', '221111']
176
177 #按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
178 str1 = 'ab c\n\nde fg\rkl\r\n'
179 print(str1.splitlines())
180 str2 = 'ab c\n\nde fg\rkl\r\n'
181 print(str2.splitlines(True))
182
183 #用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
184 str = "this is string example....wow!!!"
185 print (str.startswith( 'this' ))
186 print (str.startswith( 'string', 8 ))
187 print (str.startswith( 'this', 2, 4 ))
188 >>True
189 >>True
190 >>False
191
192 #转换成大写
193 str = "this is string example....wow!!!"
194 print (str.swapcase())
195 >>THIS IS STRING EXAMPLE....WOW!!!
196
197 #将字符串中的小写字母转为大写字母。
198 str = "this is string example....wow!!!"
199 print (str.upper())
200 >>THIS IS STRING EXAMPLE....WOW!!!
201
202 #首字母大写
203 str = "this is string example....wow!!!"
204 print (str.title())
205 >>This Is String Example....Wow!!!
206
207 #左边补零
208 str = "123456789"
209 print (str.zfill(9))
210 print (str.zfill(10))
211 print (str.zfill(11))
212 >>123456789
213 >>0123456789
214 >>00123456789