JavaScript — сравнить две строки и отобразить количество несовпадающих слов из строки

Я знаю, что есть много методов и методов для сравнения двух Stringsи выяснить, если два Strings равны или нет.
Я хочу сделать что-то вроде этого:

Var Str1 = "Hello How are you?";
var Str2 = "Hello I am ravi.";

Сравнивать str2 с str1 и отобразить количество несовпадающих слов.
Обе строки содержат 4 слова каждая. Он должен отображать пропущенные три слова из str1,

У меня есть одна веб-страница (веб-задача), где пользователь должен прослушать аудио и записать его. Поэтому я хочу знать, сколько слов пользователь пропускает из транскрибированного оригинального аудио.

2

Решение

Это так же просто, как преобразование обеих строк в массив, а затем вычисление разности массивов.

$arr1 = explode(' ', strtolower($str1));
$arr2 = explode(' ', strtolower($str2));
echo 'You missed ' . count(array_diff($arr1, $arr2)) . ' words from str 1';
2

Другие решения

Используйте Explode, чтобы преобразовать Strings в Arrays и посчитайте разницу между двумя Arrays:

$Str1 = "Hello How are you?";
$Str2 = "Hello I am ravi";

$st1 = (explode(" ", $Str1));
$st2 = (explode(" ", $Str2));$result = array_diff($st1, $st2);

echo count($result);
2

Найти и отформатировать разницу между двумя строками в PHP

Попробуй это : https://coderwall.com/p/3j2hxq/find-and-format-difference-between-two-strings-in-php

1

Вы можете обрезать символы как ‘,’, ‘?’ в строке. Затем переведите его в массив слов и удалите дубликат. Последним сравните разницу между пользовательскими массивами ввода и стандартными массивами.

// parse a string to array
function words($string)
{
return array_unique(explode(' ', str_replace(['?', '.', ','], '', $string)));
}

dd(array_diff(words($array2), words($array1)));  //here user input array2 is the first parameter.
1
По вопросам рекламы [email protected]