我想让Python仅删除字符串中的一些标点符号,比方说,我想删除除'@'以外的所有标点符号
import string
remove = dict.fromkeys(map(ord, '\n ' + string.punctuation))
sample = 'The quick brown fox, like, totally jumped, @man!'
sample.translate(remove)
这里的输出是
The quick brown fox like totally jumped man
但是我想要的是这样的东西
The quick brown fox like totally jumped @man
有没有一种方法可以选择性地从文本中删除标点符号,而无需保留我们想要保留在文本中的标点符号?
只需从替换字符串中删除您不想触摸的字符即可:
import string
remove = dict.fromkeys(map(ord, '\n' + string.punctuation.replace('@','')))
sample = 'The quick brown fox, like, totally jumped, @man!'
sample.translate(remove)
另请注意,我更改'\n '
为'\n'
,因为前者将从您的字符串中删除空格。
结果:
The quick brown fox like totally jumped @man
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句