比较两个字符串并显示字符串中不匹配单词的数量
Compare two string and display number of mismatching words from string
我知道有很多技巧和方法可以比较两个 Strings
,并判断两个 Strings
是否相等。
我想做这样的事情:
Var Str1 = "Hello How are you?";
var Str2 = "Hello I am ravi.";
比较str2
和str1
并显示不匹配的字数。
两个字符串各包含 4 个单词。它应该显示您错过了 str1
.
中的三个单词
我有一个网页(网络任务),用户需要在其中收听音频并将其转录。所以我想知道用户从转录的原始音频中遗漏了多少单词。
这就像将两个字符串都转换为数组然后计算数组的差一样简单。
$arr1 = explode(' ', strtolower($str1));
$arr2 = explode(' ', strtolower($str2));
echo 'You missed ' . count(array_diff($arr1, $arr2)) . ' words from str 1';
使用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);
查找 PHP
中两个字符串之间的差异并设置格式
试试这个:https://coderwall.com/p/3j2hxq/find-and-format-difference-between-two-strings-in-php
您可以 trim 像 ',', '?' 这样的字符在字符串中。然后将其转换为words数组,并删除重复的。最后比较一下用户输入数组和标准数组的区别。
// 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.
我知道有很多技巧和方法可以比较两个 Strings
,并判断两个 Strings
是否相等。
我想做这样的事情:
Var Str1 = "Hello How are you?";
var Str2 = "Hello I am ravi.";
比较str2
和str1
并显示不匹配的字数。
两个字符串各包含 4 个单词。它应该显示您错过了 str1
.
我有一个网页(网络任务),用户需要在其中收听音频并将其转录。所以我想知道用户从转录的原始音频中遗漏了多少单词。
这就像将两个字符串都转换为数组然后计算数组的差一样简单。
$arr1 = explode(' ', strtolower($str1));
$arr2 = explode(' ', strtolower($str2));
echo 'You missed ' . count(array_diff($arr1, $arr2)) . ' words from str 1';
使用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);
查找 PHP
中两个字符串之间的差异并设置格式试试这个:https://coderwall.com/p/3j2hxq/find-and-format-difference-between-two-strings-in-php
您可以 trim 像 ',', '?' 这样的字符在字符串中。然后将其转换为words数组,并删除重复的。最后比较一下用户输入数组和标准数组的区别。
// 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.