簡體   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