2

许多自然语言都有前缀,可以为单词添加一些含义。例如:anti防病毒、co协调员、counter对口

检测stem需要将这些前缀分开。假设有一个特定语言的前缀列表:

prefix_list = ['c', 'ca', 'ata', 'de']

如何在一个单词中处理所有可能的重叠出现"catastrophic"

结果应该是: ['c', 'ca']

试验:

  • |字符不支持重叠
  • Otto 的解决方案不会在单词的开头出现重叠
  • 我尝试在以前的解决方案中反向断言,但后视需要固定宽度的模式

笔记:

  • ata不能是结果,因为单词不是以ata
4

1 回答 1

1

不要使用正则表达式。改用列表推导:

[prefix for prefix in prefix_list if word.startswith(prefix)]

prefix_list这将创建一个包含前缀的所有条目的列表word

于 2013-08-03T13:36:16.223 回答