从字符串中删除标点符号

时间:2016-11-02 22:46:53

标签: python string punctuation

如何从python中删除字符串中的标点符号?我按照有人在Stackoverflow上发布的方法,但它无法正常工作。

punctuation = ['(', ')', '?', ':', ':', ',', '.', '!', '/', '"', "'"]

str = input("Hi, my name is Yael Shapiro!")

for i in punctuation:
    str = str.replace(i,"")

print(str)

1 个答案:

答案 0 :(得分:0)

我发现使用gencomp"".join()的组合效果很好:

>>> import string
>>> s = "Does this string. Have punctuation?"
>>> 
>>> "".join((char for char in s if char not in string.punctuation))
'Does this string Have punctuation'
>>> 

作为旁注,请勿将str用作already has a meaning in the Python language的标识符。

您的代码无效的原因可能是因为您误解了input()的作用。 input()只是从用户那里获得输入并返回输入。在我看来,你想做的就是有一个字符串,其中只做:sstr = "Hi, my name is Yael Shapiro!"