从字符串中删除标点符号



如何在python中删除字符串中的标点符号?我遵循了有人在Stackoverflow上发布的方法,但它不起作用。

punctuation = ['(', ')', '?', ':', ':', ',', '.', '!', '/', '"', "'"]
str = input("Hi, my name is Yael Shapiro!")
for i in punctuation:
    str = str.replace(i,"")
print(str)

我发现使用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作为标识符,因为它在Python语言中已经有了意义。

你的代码不工作的原因,可能是因为你误解了input()的作用。input()简单地从用户获取输入并返回输入。在我看来,所有你想做的就是有一个字符串,其中只需做:sstr = "Hi, my name is Yael Shapiro!"

相关内容

  • 没有找到相关文章

最新更新