如何搜索类似的单词

时间:2009-05-20 08:34:45

标签: delphi full-text-search

我有一个记录文件,我需要制作一个程序,通过在搜索字段中输入一个单词来帮助找到该记录中的任何单词。记录文件包含单词列表,因此我需要搜索该列表以查找可能与我的单词类似的任何单词。

我正在使用Delphi 2007

3 个答案:

答案 0 :(得分:4)

Delphi 2007应该在StrUtils中有许多字符串匹配例程,它们使用Soundex算法来查找类似的“发声”字样。根据文件格式的格式,您可以将其加载到TStringList中,然后在输入字段的OnChange事件处理程序中调用一个例程,该例程遍历列表并执行与用户输入和列表中每个条目的soundex比较

查看ResemblesTextSoundexCompareSoundexProcSoundexSimilar。其中一个应该让你去。

答案 1 :(得分:2)

Levenshtein distance算法可用于计算字差异。

  

Levenshtein距离是一个指标   用于测量差异量   在两个序列之间(即编辑   距离)。

互联网上有一些Pascal实现,例如

自由帕斯卡的朋友 - http://fofpc.org/wunder/Levenshtein_Comparison

答案 2 :(得分:1)

使用正则表达式。

www.regular-expressions.info/delphi.html