アプリ版:「スタンプのみでお礼する」機能のリリースについて

早速ですが質問です。
2つの文字列を入力し、一字一句正しければ「正しい」
間違っている文字数3文字以内なら「大体正しい」
4文字以上間違っている場合は「正しくない」と表示させるプログラムがわかりません。
例えば「perfomance」なら
   「perfomance」(誤0)で「正しい」
   「perfomazzz」(誤3)で「大体正しい」
   「perfomzzzz」(誤4)で「正しくない」といった感じです。
わかりずらくて申し訳ありません。
すいませんが、ご教授よろしくお願いします。

A 回答 (6件)

No.2の補足です。


すみませんPCの調子が悪くて二重に回答が入ってしまいました。

開発言語が何か書かれていないのですが、
PHP言語では文字列関数にlevenshteinが用意されています。

レーベンシュタイン距離なら質問の例で言われている値が、そのまま求められます。
    • good
    • 0

ひところはやったファジィ制御ですね。


"fuzzy search" 等で検索して見てください。
    • good
    • 0

>2つの文字列を入力し、一字一句正しければ「正しい」



1.「一句」毎の区切り(全角・半角空白、その数)の違いは、判定するのですか?。

2.2つの文字列の長さは「同じ」、が前提なのですか?

  ・前提の場合、

     例えば一方が、「abc defg hijk 」で、他方が

     「bc defg hijk a」は、「誤」はいくつになるのでしょうか?。

  ・前提でない場合、

   「ご教授よろしくお願いします」と、
   「ご教示方よろしくお願いします」の場合、「誤」はいくつになるのでしょうか?。

>間違っている文字数3文字以内なら「大体正しい」
>4文字以上間違っている場合は「正しくない」と表示させるプログラムがわかりません。

3.入力文字列が例えば、40文字の場合と3文字の場合でも、その判定基準は同じですか?。

  例えば、入力文字列が40文字の場合、4文字違えば、「正しくない」ですか?。
  例えば、入力文字列が3文字の場合、全部違っていても「大体正しい」ですか?。

>わかりずらくて申し訳ありません。

 以上、補足頂けると多少判り易くなるかも。
    • good
    • 0

レーベンシュタイン距離という、文字列の類似度の判定方法があります。


スペルチェックとか検索などで使われているアルゴリズムです。

大まかには頭から文字を判定していって、同じ,違う,抜けている,などをカウントします。
リンク先のソースを参考にして組み込むだけでも使えると思います。

http://www.merriampark.com/ldobjc.htm
http://www.merriampark.com/ld.htm
http://www.phonethica.net/nao-tokui/%E6%96%87%E5 …
http://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%BC% …
    • good
    • 0

レーベンシュタイン距離という、文字列の類似度の判定方法があります。


スペルチェックとか検索などで使われているアルゴリズムです。

大まかには頭から文字を判定していって、同じ,違う,抜けている,などをカウントしていきます。
リンク先のソースを参考にして組み込むだけでも使えると思います。

http://www.merriampark.com/ldobjc.htm
http://www.merriampark.com/ld.htm
http://www.phonethica.net/nao-tokui/%E6%96%87%E5 …
http://ja.wikipedia.org/wiki/%E3%83%AC%E3%83%BC% …
    • good
    • 0

あなたが今、(誤0)とか(誤3)と書いたのをプログラムに数えさせるだけです。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!