怎么找不。在javascript中的两个字符串中的相似字符

时间:2013-09-13 07:51:55

标签: javascript php

我需要找到不。两个字符串之间使用JS / PHP

的类似字符

实施例 str1:麦克 str2:米歇尔

相似字符:“M”“C” 相似的字符数:2

4 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

精确度之后,这是我的解决方案:

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);

它适用于你给我们的两个例子:

Michellle和Michelle = 8 Sneha和naveen = 3

答案 2 :(得分:0)

使用similar_text()功能

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

<强>输出

character count: 2

答案 3 :(得分: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