计算字符串中匹配的单词数

时间:2019-08-02 07:27:47

标签: php

我有两个字符串。两者看起来很相似,但是其中一个是主String,另一个是Finde String。

例如:

 $MainString = 'Yellow Green Orange Blue Yellow Black White Purple';
 $FinderString = 'Yellow Blue White';

我现在的问题是如何将这些字符串拆分为一个数组,以与另一个字符串中的另一个进行检查?

这是我尝试过的代码:

<?php
   $MainString = 'Yellow Green Orange Blue Yellow Black White Purple';
   $FinderString = 'Yellow Blue White';
   $resault = substr_count($MainString, $FinderString);
   echo("number of matched colores: ".$resault);
?>

恢复我的代码:

number of matched colores: 0

我对这段代码的期望:

number of matched colores: 4

有人可以帮助我解决这个问题吗?

---帮助后的最终代码:---

现在我写了这段代码,虽然我猜不是最好的,但是他可以工作。

<?php
    $MainString = 'Yellow Green Orange Blue Yellow Black White Purple';//declare the main String
    $FinderString = 'Yellow Blue White'; //declare the finder String
    $MainlyString = explode(" ",$MainString); //splitting the massive string into an Array.
    $FindlyString = explode(" ",$FinderString); //splitting the massive string into an Array.
    $resault = 0; //declare the counters


    foreach($MainlyString as $main) { //running through the Array and give the result an Alias.
        foreach($FindlyString as $find) { //runing through the Array and gave the resault an Alias.
            if (substr_count($main, $find) == 1) { //Checking if a month is matching a mother.
                $resault = $resault + 1; //increase the counter by one 
            }
        }
    }

    echo("number of matched month: ".$resault."<br>"); //output of the counter
?>

感谢帮助人员。 :)

1 个答案:

答案 0 :(得分:-1)

首先在Stackoverflow上问好PassCody。

在这种情况下,您可以将String拆分/分解为单独的Array,以单选颜色。

为此,您可以使用PHP函数explode(string $ delimiter,string $ string [,int $ limit = PHP_INT_MAX])返回一个字符串数组,每个字符串都是通过在形成的边界上分割字符串而形成的字符串子字符串通过字符串定界符。

这里是一个例子:

onView(withId(R.id.yourButtonId)).perform(ViewActions.scrollTo(), ViewActions.click())