我有一大堆我正在尝试清除的单词。这些词中的许多词出现多次,每次都有点不同,我想对它们进行归一化。比如我想换成下面的话:如果存在匹配的单词,则替换整个字符串
list = ["resident super", "super live in", "on site superintendent in building", "livein super", "residential super", "superintendent lives in", "on-site super"...]
只有superintendent
我想我可以用
for item in list:
re.sub("resident super|super live in|on site superintendent in building| livein super|residential super|superintendent lives in|on-site super",
"superintendent", list)
做到这一点,但我肯定会错过一些条目。所有的条目都包含单词super
,但有没有一种方法可以制定正则表达式规则,用所需的单词替换整个项目?
的问题是,你要替换一个词的空格分隔的单词列表。所以你必须详尽无遗,否则正则表达式不会知道何时开始/停止替换单词。例如:“我是超人居住的人”:我在哪里开始/停止替换? –
如果您的“单词”是逐行提供的,则可以通过简单匹配\ bsuper \ b来替换整个字符串。 –
我正在考虑使用'for'循环遍历列表中的每个成员。如果该成员包含“super”这个词,那么整个成员应该由'superintendent'替代。 – Lukasz