我有一个问题:
例如我有一句话
s = "AAA? BBB. CCC!"
所以,我这样做:
import string
table = str.maketrans('', '', string.punctuation)
s = [w.translate(table) for w in s]
一切都很好。我的新句子将是:
s = "AAA BBB CCC"
但是,如果我输入如下句子:
s = "AAA? BBB. CCC! DDD.EEE"
在删除标点符号后,我将使用与下面相同的方法
s = "AAA BBB CCC DDDEEE"
但需要:
s = "AAA BBB CCC DDD EEE"
有什么思路/方法可以解决这个问题吗?
最佳答案
string.punctuation包含以下字符:
'!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~'
您可以使用 translate 和 maketrans 函数将标点符号映射到空值(替换)
import string
'AAA? BBB. CCC! DDD.EEE'.translate(str.maketrans('', '', string.punctuation))
输出:
'AAA BBB CCC DDDEEE'
关于python - 如何删除python中的标点符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53664775/