python-字符串操作方法

汇总:

  1. capitalize() :将开头首字母改为大写,如果字符串开头非小写字母(如开头为大写字母、数字、空格等)则无效。
  2. title():以空格、符号、数字等隔开的首字母大写
  3. upper():所有字母全大写
  4. lower():所有字母全小写
  5. swapcase():全部字符大小写翻转
  6. casefold():与lower()类似,将字串转换为小写,可用于大小写不敏感字串匹配
  7. center(width[, fillchar]):返回指定宽度width,以当前字串居中的字串,左右不足部分以fillchar来填充, 如果width不大于原字串宽度,则返回原字串
  8. ljust(width[, fillchar]):使用指定字符填充,使字符串左对齐
  9. rjust(width[, fillchar]):使用指定字符填充,使字符串右对齐
  10. -zfill(width):字符串右对齐,前面填充0,如果width小于原有子串长度,则返回原有子串
  11. count(sub[, start[, end]]):返回子串出现频率
  12. 字符串断句:str.expandtabs(tabsize=8)
  13. replace(old, new[, max]):字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
  14. 对应关系替换
  15. strip([chars]):移除头尾指定字符(默认空格)
  16. lstrip([chars]):去左侧指定字符(默认空格)
  17. rstrip([chars]):去右侧指定字符(默认空格)
  18. split(str=”“, num=string.count(str)):将字符串分割为列表,如果参数num 有指定值,则仅分隔 num+1 个子字符串
  19. partition(str):根据指定的分隔符将字符串分割成三元数组
  20. splitlines([keepends]):按照行(‘\r’, ‘\r\n’, \n’)将字符串分割成列表,keepends – 在输出结果里是否去掉换行符(‘\r’, ‘\r\n’, \n’),默认为 False,不包含换行符,如果为 True,则保留换行符。
  21. join(sequence) 将序列中的元素以指定的字符连接生成一个新的字符串,参数sequence – 要连接的元素序列;
  22. find(sub, start, end):返回符合sub的第一个索引(即通过sub找索引),可通过start 和end 指定索引范围,找不到sub则返回-1。start和 end可以不填入,默认填入的sub后的第一个为strat,第二个为end。
  23. rfind(str, beg=0 end=len(string)):查找字符串最后一次出现的位置(从右向左查询)
  24. index(sub, start, end)和find使用方法一样,但是如果找不到会报错
  25. isalpah()是否全由字母字符串组成
  26. isdigit()是否全由数字组成
  27. isalnum()是否全由数字、字母、数字和字母组成
  28. isupper()是否全大写
  29. islower()是否全小写
  30. istitle()被空格、数字、符号等隔开的首字母是否大写
  31. isspace()是否只由空格组成
  32. isascii()是否为ascii码,判断时必须是字符串形式,否则会报错
  33. isdecimal()字符是否只包含十进制字符串(我们正常使用的数字)
  34. isidentifier()判断该字符串设为变量名是否合法,但是不太准确,它的判断方式应该不包含内置变量。可以用 keyword判断是否为内置函数,但是keyword只能判断相应一部分范围。
  35. keyword.iskeyword(s)可以判断是否为内置关键字,但是不全面,比如print就可以通过测试,下图为官方给出的内置关键字。
  36. isnumeric()unicode对象字符串是否只由数字组成
  37. isprintable()是否为可打印字符串
  38. startswith(prefix, start, end):字符串是否是以prefix指代的字符串开始,可以指定开始、结束范围。
  39. endswith(suffix, start, end):字符串是否是以prefix指代的字符串开始,可以指定开始、结束范围。
  40. 关于isdigit、isdecimal、isnumeric的区别:

字母操作

capitalize() :将开头首字母改为大写,如果字符串开头非小写字母(如开头为大写字母、数字、空格等)则无效。

>>> s='i am sam'
>>> s.capitalize()
'I am sam'
>>> 

title():以空格、符号、数字等隔开的首字母大写

>>> s='you are-welcom,sam.'
>>> s.title()
'You Are-Welcom,Sam.'

upper():所有字母全大写

>>> s='ab1Cd*ef(gH.'
>>> s.upper()
'AB1CD*EF(GH.'

lower():所有字母全小写

>>> s.lower()
'ab1cd*ef(gh.'

swapcase():全部字符大小写翻转

>>> s='ab1Cd*ef(gH.'
>>> s.swapcase()
'AB1cD*EF(Gh.'

casefold():与lower()类似,将字串转换为小写,可用于大小写不敏感字串匹配
与lower()不同的是:lower方法只对ASCII编码,对于其他语言(非汉语或英文)可以使用casefold()进行大小写转换。
‘ß’是德语字符,其小写为’ss’

>>> s='ß'
>>> s.casefold()
'ss'
>>> s.lower()
'ß'

center(width[, fillchar]):返回指定宽度width,以当前字串居中的字串,左右不足部分以fillchar来填充, 如果width不大于原字串宽度,则返回原字串

>>> s='abc'
>>> s.center(4,'*')
'abc*'
>>> s.center(5,'*')
'*abc*'
>>> s.center(11,'*')
'****abc****'

ljust(width[, fillchar]):使用指定字符填充,使字符串左对齐
rjust(width[, fillchar]):使用指定字符填充,使字符串右对齐

>>> s='icbc'
>>> s.ljust(6,'*')
'icbc**'
>>> s.rjust(6,'*')
'**icbc'

-zfill(width):字符串右对齐,前面填充0,如果width小于原有子串长度,则返回原有子串

>>> s='icbc'
>>> s.zfill(10)
'000000icbc'
>>> s.zfill(10)
'000000icbc'
>>> s='-98'
>>> s.zfill(10)
'-000000098'
>>> s='--98'
>>> s.zfill(10)
'-000000-98'
>>> s='&&98'
>>> s.zfill(10)
'000000&&98'

count(sub[, start[, end]]):返回子串出现频率

>>> s='aabbccddabcdaaaa'
>>> s.count('a')
7
>>> s.count('aa')
3
>>> s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值