我知道我在某种程度上使用了错误的方法,但只有https://docs.python.org/3/library/stdtypes.html#str.replace才能使用我,我就无法理解为什么我无法做出我所做的事情。我试图在这里实现(我希望这是显而易见的?)
import string
word2 = 'abc?ef,hi.!l@'
for x in string.punctuation:
if x in word2:
word2.replace(x,'')
print (word2)
我已经尝试过一些调试&打印语句所以我知道它通过string.substring迭代OK,我知道它通过word2并识别每个x何时出现,但为什么不替换()实际上在这里做任何事情?
由于
答案 0 :(得分:0)
试试这个:
import string
word2 = "abc?ef,hi.!l@"
for x in string.punctuation:
if x in word2: //works with or without
word2 = word2.replace(x,"")// save the after replace is done.
print(word2)
输出:
abcefhil
答案 1 :(得分:0)
您可以使用str.join
和理解来直接执行此操作。
import string
word2 = "abc?ef,hi.!1@"
word2 = ''.join(c for c in word2 if c not in punctuation)