我正在处理的问题是,如果结尾在特定列表中,我需要删除该结尾。
即假设列表是:
{ical, ic,ion,ogy} //the actual list is a handful of elements (almost ~20)
我需要做的是,当我遇到这样的句子时:
Hello world, this sentence is magic. Because we will talk about Biology.
它将减少为:
Hello world, this sentence is **mag** . Because we will talk about **Biol** .
最简单的方法是遍历句子中的单词,并检查每个结尾是否与列表中的元素匹配……但这非常昂贵。
有没有更简单的方法来实现上述目标?
***** 还 *****
你可以用一个大的正则表达式来做到这一点:
(?<=([a-zA-Z]))(ic|ical|ics|raphy|raphic|raphical|ion|ions|ional|ive|ivity|ity|ities|ische|ischen|ischer|isches|ogy|ogic|ogical|omy|omic|omics|omical)(?=(\b))