-3

いいえを見つける必要があります。JS/PHP を使用した 2 つの文字列間の類似文字の

例 str1: マック str2: ミシェル

類似文字: "M" "C" 類似文字数: 2

4

4 に答える 4

1

私はこれを行います:

str1 = str1.toUpperCase();
str2 = str2.toUpperCase();
var counter = 0;
var min = Math.min(str1.length, str2.length);
for(var i = 0; i < min; i++)
{
   if(str1.charAt(i) === star2.charAt(i))
      counter++;
}
alert("Result: "+counter);
于 2013-09-13T07:53:48.120 に答える
0

あなたの正確さの後、これが私の解決策です:

str1 = str1.toUpperCase();
str2 = str2.toUpperCase();
var counter = 0, find = -1;
for(var i = 0; i < str1.length; i++)
{
    find = str2.indexOf(str1.charAt(i));
    if(find > -1)
    {
      counter++;
      str2 = str2.substr(0, find) + str2.substr(find + 1);
    }
}
alert("Result: "+counter);

あなたが私たちに与えた2つの例で動作します:

ミシェルとミシェル = 8 スネハとナビーン = 3

于 2013-09-13T08:19:52.923 に答える
0

similar_text()関数を使用する

<?php
    echo "character count: ". similar_text("Mack","Michelle");
?>

出力

character count: 2
于 2013-09-13T07:54:48.037 に答える
0

これが機能することを確認するには、さらに例が必要ですが、正規表現を使用するとうまくいく場合があります。

function similar_text_regex(str1, str2){
    var regEx = new RegExp('['+str2+']', 'gi');
    var matchCnt = str1.match(regEx2).length;
    return matchCnt;
}

console.log(similar_text_regex('Michelle', 'Michellle')); // --> 8
console.log(similar_text_regex('Jason', 'Jane')); // --> 3
console.log(similar_text_regex("sneha","naveen")); // --> 3
于 2013-09-13T08:23:45.247 に答える