如何在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!"