【发布时间】:2021-03-22 14:24:00
【问题描述】:
大家好,我只是想知道如果列表中的单词不包含任何字母字符,我该如何保留要删除的单词,但如果它包含任何字母字符后跟任何类型的特殊字符或数字,则不会被删除
假设我有一个句子/单词列表,如下所示:
['python','abc123','@@','!!','12345abc#','hello@','141351351','123abc']
所需的输出将是:
['python','abc123','','','12345abc#','hello@','','123abc']
我尝试过的如下:
data = ['python','abc123','@@','!!','12345abc#','hello@','141351351','123abc']
regex = re.compile('[^a-zA-Z0-9&._-]')
filtered= [regex.sub('', each_data) for each_data in data ]
这会导致:
['python', 'abc123', '12345abc', 'hello', '141351351', '123abc']
删除所有错误的特殊字符我不知道如何解决这个问题,我仍在考虑如何使用正则表达式解决它,我也尝试过使用 nltk,但似乎找不到答案任何一个。任何形式的提示或帮助将不胜感激
【问题讨论】:
-
如果您需要更多帮助,请发表评论。