欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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包括所有的标点符号。

相关标签: python