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