Мне нужно найти нет. подобных символов между двумя строками с помощью JS/PHPкак его найти. похожих символов в двух строках в javascript
Пример str1: Mack str2: Мишель
Подобные символы: "M" "C" похож количество символов: 2
Мне нужно найти нет. подобных символов между двумя строками с помощью JS/PHPкак его найти. похожих символов в двух строках в javascript
Пример str1: Mack str2: Мишель
Подобные символы: "M" "C" похож количество символов: 2
После вашей точности, вот мое решение:
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 примера вы дали нам:
Michellle и Мишель = 8 снеха и naveen = 3
Я сделаю это:
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);
Используйте toLowerCase, если вы хотите определить «C». –
Редактировал его, когда вы отправили свое сообщение. Я использовал toUpperCase :) – Scalpweb
Это не будет правильно .. Зацикливание только до конца более короткой строки будет игнорировать символы, которые на самом деле важны. (Т.е. «zzzy» «yyy» не обнаружит, что «y» находится в обеих строках.) –
Использование similar_text() функция
<?php
echo "character count: ". similar_text("Mack","Michelle");
?>
Выход
character count: 2
Неэффективен, иногда они не дают вам точного подсчета. –
Можете ли вы сказать мне, как? –
если вы попробуете Sneha и naveen. эхо "количество символов:".similar_text ("снех", "Навин"); Это должно быть эхо: 3 Но это echo's 2 –
Мне понадобится mor e, чтобы убедиться, что это работает, но с использованием регулярных выражений может сработать для вас:
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
Он сказал, что для Микелл и Мишель он должен вернуться 8. – Scalpweb
Теперь нужно исправить. Я просто подумал, что если совмещение слева направо и справа налево даст лучшие результаты .. –
Вы что-то попробовали? –
Я пробовал в PHP, Similar_text() Но это неточно. –
Вам нужно приложить больше усилий, если ничего не работает, а затем попытайтесь создать свою собственную вещь, затем вернитесь с кодом, который не удался, отправьте пример, чтобы воспроизвести проблему и объяснить, что вы пытались ее решить. – elclanrs