文本中多个单词匹配的算法

我有很多单词(大约10,000个),我需要确定这些单词中是否有一个出现在给定的文本块中。

是否有比在文本块中对每个单词进行简单文本搜索更快的算法

回答:

将10,000个单词输入到哈希表中,然后检查文本块中的每个单词(如果其哈希值都有条目)。

尽管我不知道,但是更快,只是另一种方法(取决于您搜索的单词数)。

简单的perl示例:

my $word_block = "the guy went afk after being popped by a brownrabbit";

my %hash = ();

my @words = split /\s/, $word_block;

while(<DATA>) { chomp; $hash{$_} = 1; }

foreach $word (@words)

{

print "found word: $word\n" if exists $hash{$word};

}

__DATA__

afk

lol

brownrabbit

popped

garbage

trash

sitdown

以上是 文本中多个单词匹配的算法 的全部内容, 来源链接: utcz.com/qa/406666.html

回到顶部