s=' aaaaa '定义一个字符串为' aaaaa '
s.strip()返回原字符串的副本,移除其中的前导和末尾字符。chars参数为指定要移除字符的字符串。 如果省略或为None,则chars参数默认移除空格符。 实际上chars参数并非指定单个前缀或后缀;而是会移除参数值的所有组合
s.lstrip()返回原字符串的副本,移除其中的前导字符。chars参数为指定要移除字符的字符串。 如果省略或为None,则chars参数默认移除空格符。 实际上chars参数并非指定单个前缀;而是会移除参数值的所有组合:
s.rstrip()返回原字符串的副本,移除其中的末尾字符。chars参数为指定要移除字符的字符串。 如果省略或为None,则chars参数默认移除空格符。 实际上chars参数并非指定单个后缀;而是会移除参数值的所有组合:
s='-----aaaaa+++++'
s.strip('-+')返回原字符串的副本,移除其中的前导和末尾字符。chars参数为指定要移除字符的字符串。 如果省略或为None,则chars参数默认移除空格符。 实际上chars参数并非指定单个前缀或后缀;而是会移除参数值的所有组合
s='\tabc\t123\txyz'
s.replace('\t','')str.replace(old,new[,count])
返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。 如果给出了可选参数 count,则只替换前 count 次出现。
s='\tabc\n123\rxyz'
re.sub('[\t\r\n]','',s)[...]用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'
Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
语法:
re.sub(pattern, repl, string, count=0, flags=0)
参数:
pattern : 正则中的模式字符串。
repl : 替换的字符串,也可为一个函数。
string : 要被查找替换的原始字符串。
count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
s='abc123456789xyz'
str.maketrans('abcxyz','xyzabc')maketrans()方法语法:
str.maketrans(intab, outtab)
参数
intab -- 字符串中要替代的字符组成的字符串。
outtab -- 相应的映射字符的字符串。
s.translate(str.maketrans('abcxyz','xyzabc'))staticstr.maketrans(x[,y[,z]])
此静态方法返回一个可供 None 的字典。 字符键将会被转换为码位序号。
如果有两个参数,则它们必须是两个长度相等的字符串,并且在结果字典中,x 中每个字符将被映射到 y 中相同位置的字符。 如果有第三个参数,它必须是一个字符串,其中的字符将在结果中被映射到 None。
translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。语法
translate()方法语法:
str.translate(table)
bytes.translate(table[, delete])
bytearray.translate(table[, delete])
参数
table -- 翻译表,翻译表是通过 maketrans() 方法转换而来。
deletechars -- 字符串中要过滤的字符列表。
s='\tabc\t123\txyz'
str_trans=str.maketrans('','','\r\n\t')
s.translate(str_trans)
综合使用:
import unicodedata,sys
u='āáèéèīíǒíǖùň'
a=unicodedata.normalize('NFD',u)
my_dict=dict.fromkeys(x for x in range(sys.maxunicode) if unicodedata.combining(chr(x)))
print(a.translate(my_dict))