0
的列表剥离标点符号我有这样的单词列表从字符串
['Hey', 'yo', 'Hey?', 'Yeah.', 'john:']
我想删除, . " ' ? ! *
和其他一切是在开始或结束
for element in array:
# perform
的思考?
的列表剥离标点符号我有这样的单词列表从字符串
['Hey', 'yo', 'Hey?', 'Yeah.', 'john:']
我想删除, . " ' ? ! *
和其他一切是在开始或结束
for element in array:
# perform
的思考?
取决于“其他所有”的含义。
[elt.strip(',."\'?!*:') for elt in array]
非常简单,并且完成工作,假设您有一个相当小的可移动令牌的列表。
In [1]: ar = ['Hey', 'yo', 'Hey?', 'Yeah.', 'john:']
In [2]: [elt.strip(',."\'?!*:') for elt in ar]
Out[2]: ['Hey', 'yo', 'Hey', 'Yeah', 'john']
或者,作为建议:
import string
[elt.strip(string.punctuation) for elt in ar]
否则,如果要删除一切其他未〜字母数字,你可以这样做:
import re
[re.sub(r'\W+', '', elt) for elt in array]
这将删除所有非字(准确地说,[A-Za-z0-9_]
)字符。
我认为OP的意思是'string.punctuation' – Elazar
请注意,'str'是*不可变*类型:您不能*从字符串本身中删除任何东西。您只能更改列表或创建一个新列表。用新的字符串。 – Elazar