reg*_*ter 17 python string replace
我想用Python中的字符串中的"" 替换(而不是删除)所有标点字符.
是否有以下口味的效果?
text = text.translate(string.maketrans("",""), string.punctuation)
Run Code Online (Sandbox Code Playgroud)
Ben*_*ork 43
这个答案适用于Python 2,仅适用于ASCII字符串:
字符串模块包含两个可以帮助您的东西:标点符号列表和"maketrans"函数.以下是如何使用它们:
import string
replace_punctuation = string.maketrans(string.punctuation, ' '*len(string.punctuation))
text = text.translate(replace_punctuation)
Run Code Online (Sandbox Code Playgroud)
Gre*_*gor 14
改进的解决方案来自Best方法,从Python中删除字符串中的标点符号
import string
import re
regex = re.compile('[%s]' % re.escape(string.punctuation))
out = regex.sub(' ', "This is, fortunately. A Test! string")
# out = 'This is fortunately A Test string'
Run Code Online (Sandbox Code Playgroud)