首页 > 解决方案 > 创建一个正则表达式,它可以只过滤掉任何给定字符串中的单词

问题描述

你好世界各地的程序员,我想问一下是否有办法创建一个完美的分词器,它只能检测任何给定字符串中的英文单词?例如,如果您有此字符串“JGS (8/8/01 5:20:19 PM); 我们需要启用;以下操作的禁用和悬停图标:; CopyToClipboardActionDelegate; RelaunchActionDelegate; TerminateAndRemoveActionDelegate; ; DW "那么预期的结果应该是:we、need、enabled、disabled、hover、icons、for、following、actions、Copy、To、Clipboard、Action、Delegate、Relaunch、Action、Delegate、Terminate、And、Remove、Action、Delegate 等等…… 我想知道这样的事情是否可能?

我已经尝试过 word_tokenize 并且还尝试使用由正则表达式组成的子字符串在字符串中查找模式,但到目前为止我无法得到我需要的结果。

这就是我为了从上面得到结果所需要的。PS我知道这种标记化方法无法实现我想要的,我只是不知道如何做正则表达式:(

def tokenization(series):
    list = [];
    s = series.to_numpy();
    for series in s:
        tokens = word_tokenize(series);
        list.append(tokens);
    return list;

我也试过这个,但失败得很惨

def tokenization(series):
    list = [];
    s = series.to_numpy();
    for series in s:
        tokens = re.findall('^[a-zA-Z]*$', series);
        list.append(tokens);
    return list;

我得到的结果是:'JGS', '(', '8/8/01', '5:20:19', 'PM', ')', ';', 'We', 'need', '启用', ';', '禁用', '&', 'hover', 'icons', 'for', 'the', 'following', 'actions', ':', ';', 'CopyToClipboardActionDelegate ', ';', 'RelaunchActionDelegate', ';', 'TerminateAndRemoveActionDelegate', ';', ';', 'DW', '(', '9/24/2001', '2:22:48', 'PM', ')', ';', 'Use', 'the', 'standard', 'copy', 'icon', 'for', 'copy', 'to', 'clipboard', '( ', '桌面', '可能的', '暴露', 'it', ')', '.', ';', ';', 'DW', '(', '9/24/2001', '2:23:05', 'PM' , ')', ';', 'Made', 'requests', 'for', ';', 'Relaunch', ';', 'Terminate', 'All', ';', 'Terminate', ' &', '消除'并且正如上面所说的那样,就标记化而言,它应该几乎相同,但应该只存在单词。因此,如果有人有任何想法,所有帮助将不胜感激。

标签: regexpython-3.xtokentokenize

解决方案


推荐阅读