python中删除/替换字符串的任意字符
程序员文章站
2022-05-24 23:44:15
...
《A Byte of Python》中文4.08C版,第112页-作业练习。
检测时否为回文时,需要将字符串中的所有标点和空格删除。一开始用字符串的.strip()方法,发现该方法只能删除字符串首尾的字符。例:
a = 'Rise to vote, sir.'
print(a.strip(','))
print(a.strip('.'))
输出的结果为:
Rise to vote, sir.
Rise to vote, sir
为了解决这一问题,搜索了一下可以用translate()函数,首先要通过maketrans()函数建立映射表格。maketrans()有三个参数,maketrans(arg1,arg2,arg3),其中arg1是映射的输入,arg2是映射的输出,arg3是输出为None的输入。arg1和arg2的字符长度必须保持相同。对于要删除字符串中的标点和空格这一需求,利用第三个参数即可。
import string
a = 'Rise to vote, sir.'
a = a.lower().translate(str.maketrans('','',string.punctuation)) #大写变小写,同时删除所有的符号
print(a.translate(str.maketrans('','',' '))) #删除所有的空格并打印
print(a.replace(' ', '')) #删除所有的空格并打印
输出的结果为:
risetovotesir
risetovotesir
string.punctuation包括所有的标点符号。
上一篇: Spring框架之Day08多切面AOP执行顺序和AOP使用场景
下一篇: struts2国际化