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 に答える