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