我正在使用Python解析列表中的某些字符串。某些字符串可能只包含我想它忽略,像這樣的非字母數字字符:與非字母數字字符匹配的正則表達式
list = ['()', 'desk', 'apple', ':desk', '(house', ')', '(:', ')(', '(', ':(', '))']
for item in list:
if re.search(r'\W+', item):
list.remove(item)
# Ideal output
list = ['desk', 'apple', ':desk', '(house']
# Actual output
list = ['desk', 'apple', '(:', '(', '))']
這是我的正則表達式對於這個問題的第一次嘗試,但它不是真的有預期的效果。我如何編寫一個正則表達式來忽略任何帶有非字母數字字符的字符串?
什麼你期望的結果?這似乎是正確的,因爲具有非字母數字字符的兩個字符串已被刪除。 – Evert
嗯,我可能有誤讀,但我把你的問題是,你只想排除只是非字母數字的字符串,即你想在列表中留下一個字符串,如'(蘋果)'。那是對的嗎? – Sean
我已更新我的示例以顯示我所得到的結果,而不是我想要的結果。 – solr