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

时间:2017-03-04 09:26:55

标签: javascript php html string jscript

我知道有很多技巧和方法来比较两个String data;//your entire JSON data as String try { JSONObject object = new JSONObject(data); String status = object.getString("status"); JSONArray dataArray = object.getJSONArray("data"); for (int i = 0; i < dataArray.length(); i++) { JSONObject json1 = dataArray.getJSONObject(i); String countryID = json1.getString("countryID"); String vCountry = json1.getString("vCountry"); } } catch (JSONException e) { e.printStackTrace(); } ,并找出两个Strings是否相等。 我想做这样的事情:

Strings

Var Str1 = "Hello How are you?"; var Str2 = "Hello I am ravi."; str2进行比较,并显示不匹配字词的数量。 两个字符串各包含4个单词。它应显示您错过了str1中的三个单词。

我有一个网页(网络任务),用户需要收听音频并转录。所以我想知道用户在转录的原始音频中丢失了多少单词。

4 个答案:

答案 0 :(得分:2)

这就像将字符串转换为数组然后计算数组差异一样简单。

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

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

在PHP中查找并格式化两个字符串之间的区别

试试这个:https://coderwall.com/p/3j2hxq/find-and-format-difference-between-two-strings-in-php

答案 3 :(得分:1)

你可以修剪一下这些字符,如&#39;,&#39;,&#39;?&#39;在字符串中。然后将其转换为单词数组,并删除重复的数组。最后比较用户输入数组和标准数组之间的差异。

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