0

jqueryでおおよそのテキストマッチングを行う方法はありますか?

私は正しい答えを持つdivを持っています

<div class="correctAnswer" style="display:none;">CORRECT</div>

そして、入力タグの答えが概算正解のときにテキストを表示したい

<input type="text"> //lets guess i type "CORREC"
<div class="Approximate" style="display:none;">Your answer is Approximate correct!</div>
4

1 に答える 1

2

レーベンシュタイン距離アルゴリズムを使用してこれを行うことができます。これにより、文字列の類似性のスコアが得られます。

ウィキペディアで詳しく説明されており、さまざまな言語/テクノロジーで使用されています。

疑似アルゴリズムは次のとおりです。

int LevenshteinDistance(string s, string t)
{
  int len_s = length(s), len_t = length(t), cost = 0

  if(s[0] != t[0]) then cost = 1

  if(len_s == 0) then      return len_t
  elseif(len_t == 0) then  return len_s
  else                     return minimum(LevenshteinDistance(s[1..len_s-1], t) + 1,
                                      LevenshteinDistance(s, t[1..len_t-1]) + 1,
                                      LevenshteinDistance(s[1..len_s-1], t[1..len_t-1]) + cost)
}

このjavascriptの実装をgithubで試してみることもできます(これは私のものではありません、ところで)。

于 2012-10-31T15:51:05.227 に答える