注:s表示定义的一个字符串变量,如:s = 'hello string'
1. s.index() 查找元素,若查到则返回该元素索引,含多个该元素则返回第一个,查不到则报错
s = 'hello string' # 有且唯一的情况 res = s.index('e') print(res) 打印结果:1 # 含多个的情况 res = s.index('l') print(res) 打印结果:2 # 不存在的情况 res = s.index('w') print(res) 打印结果:Traceback (most recent call last): File "D:/python基础/字符串.py", line 11, in <module> res = s.index('w') ValueError: substring not found
2. s.find() 与s.index()功能一样,但查不到返回-1,不会报错
s = 'hello string' res = s.find('l') print(res) 打印结果:2 res = s.find('w') print(res) 打印结果:-1 项目中推荐使用这个方法
3. in/not in 判断元素是否存在字符串中,返回布尔值
s = 'hello string' res = 'l' in s print(res) 打印结果:True res = 'l' not in s print(res) 打印结果:False
4. len() 返回字符串的长度
s = 'hello string' res = len(s) print(res)
5. s.count() 统计某元素在字符串中出现的次数
s = 'hello string' res = s.count('l') print(res) 打印结果:2
6. 切片
s = 'HelloString' res = s[0:2] # 切取索引位置为0到索引位置为2的字符,但取不到位置2,左闭右开原则 print(res) 打印结果:He res = s[:] # 切取全部字符 print(res) 打印结果:HelloString res = s[2:] # 切取索引位置为2及后面的所有元素 print(res) 打印结果:lloString res = s[:-2] # 切取索引为0到索引为-2(倒数第2个)的所有字符,左闭右开原则 print(res) 打印结果:HelloStri res = s[2] # 取索引位置为2的元素 print(res) 打印结果:l res = s[-1] # 取索引位置为-1的元素,即倒数第一个元素 print(res) 打印结果:g res = s[::-1] # 反向切取所有元素 print(res) 打印结果:gnirtSolleH res = s[-3:-1] # 切取索引位置为-3到-1的字符,左闭右开原则 print(res) 打印结果:in res = s[-2:] # 切取倒数第二位到最后一位的字符 print(res) 打印结果:ng res = s[-2:-11:-2] # 反向切取,步长为2,这里值得注意的是,反向切取必须加第三个参数,且为负数,正向切取第三个参数默认是1 print(res) 打印结果:nrSle
7. s.startwith() 判断字符串以什么开头,返回布尔值
s = 'HelloString' res = s.startswith('H') print(res) 打印结果:True
8. s.endwith() 判断字符串以什么结尾,返回布尔值
res = s.endswith('g') print(res) 打印结果:True
9. s.isalnum() 判断字符串是否由字母,数字这两种或其中一种组成
s = 'HelloString12' # 含字母和数字 res = s.isalnum() print(res) 打印结果:True s = 'HelloString' # 仅含字母 res = s.isalnum() print(res) 打印结果:True s = '123214' # 仅含数字 res = s.isalnum() print(res) 打印结果:True s = 'HelloString%$@#123' # 含除数字,字母外的其它符号 res = s.isalnum() print(res) 打印结果:False
10. s.isalpha() 判断字符串是否全由字母组成
s = 'HelloString' res = s.isalpha() print(res) 打印结果:True s = 'HelloString12' res = s.isalpha() print(res) 打印结果:False
11. s.isdigit() 判断字符串是否全由数字组成
s = '1232423' res = s.isdigit() print(res) 打印结果:True s = '1232423dfddg' res = s.isdigit() print(res) 打印结果:False
12. s.islower() 判断字符串是否全是小写
s = '1232423dfdg' res = s.islower() print(res) 打印结果:True s = '1232423dfdWg' res = s.islower() print(res) 打印结果:False
13. s.isupper() 判断字符串是否全大写
s = '1232423ASFA' res = s.isupper() print(res) 打印结果:True s = '1232423ASFAfghf' res = s.isupper() print(res) 打印结果:False
14. s.istitle() 判断字符串是否首字母为大写且其它为小写
s = 'Wwtwe' res = s.istitle() print(res) 打印结果:True s = 'WGFHFG res = s.istitle() print(res) 打印结果:False s = 'rwtwe' res = s.istitle() print(res) 打印结果:False
15. s.lower() 将字符串的所有字母转换为小写
s = 'HELLOstring' res = s.lower() print(res) 打印结果:hellostring
16. s.upper() 将字符串的所有字母转换为大写
17. s.swapcase() 将字符串的大写转换为小写,小写转换为大写
s = 'HELLOstring' res = s.swapcase() print(res) 打印结果:helloSTRING
18. s.capitalize() 将字符串的首字母转换为大写
s = 'helloString' res = s.capitalize() print(res) 打印结果:Hellostring
19. s.replace() 替换字符串中字符
s = 'helloString' res = s.replace('h', 'y') # 参数1为需要被替换的旧元素,参数2是新元素 print(res) 打印结果:yelloString
20. s.split() 按指定元素将字符串切割成列表,默认按空格切割
s = 'hello String' res = s.split() print(res) 打印结果:['hello', 'String'] s = 'helloString' res = s.split('S') print(res) 打印结果:['hello', 'tring']
21. s.join() 将可迭代对象中的元素用字符串s拼接起来
lst = ['hello', 'string'] # 这里为可迭代对象,如列表,元组,字符串 s = '-' res = s.join(lst) print(res) 打印结果:hello-string a_str = 'string' s = '-' res = s.join(a_str) print(res) 打印结果:s-t-r-i-n-g
参考:https://www.cnblogs.com/zyqy/p/9240396.html