在两个不同的字符串中找到相同的单词

时间:2014-08-25 17:25:49

标签: java string match contains indexof

我想在两个字符串中找到相同的单词。

startpoint = newresult.indexOf('\'');
endpoint = newresult.lastIndexOf('\'');

variables = newresult.substring(startpoint, endpoint);
variables = variables.replace("\r\n", ",");
variables = variables.replaceAll("'", "");`

字符串变量

利弊,约翰,$,亚历克斯,MANAG;

字符串第二

ins_manages(约翰,缺点)

如图所示,两个字符串都有约翰和缺点,我想检查两者是否有相同的字符序列,但我不知道如何检查它?有没有办法直接检查?

解决方案: String [] newvar; newvar = variables.split(",");

之后,我使用了for循环并逐个匹配它们。

BR

2 个答案:

答案 0 :(得分:4)

拆分两个字符串并使用foreach比较各个单词,如下所示:

    String first = "hello world today";
    String second = "Yet another hello worldly day today";

    //split the second string into words
    List<String> wordsOfSecond = Arrays.asList(second.split(" "));

    //split and compare each word of the first string           
    for (String word : first.split(" ")) {
        if(wordsOfSecond.contains(word))
            System.out.println(word);
    }

答案 1 :(得分:0)

您的要求有点含糊不清。你要求在两个字符串中找到相同的单数字,然后你的样本要求在同一个字符串中找到两个单词。

要验证一个单词是否在两个字符串中,您可以这样做:

public boolean bothStringsContainWord(String s1, String s2, String word) {
    return s1.contains(word) && s2.contians(word);
}

如果您需要在多个单词上执行此操作,可以将其置于循环中。同样,你的要求有点模糊;如果你理顺它们,可能存在一个更有效的解决方案。