繁体   English   中英

比较两个字符串并显示字符串中不匹配单词的数量

[英]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.";

比较str2str1并显示不匹配单词的数量。 两个字符串均包含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

您可以修剪字符,例如“,”,“?” 在字符串中。 然后将其转换为单词数组,并删除重复的单词。 最后比较用户输入数组和标准数组之间的差异。

// 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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM