检查字符串是否包含子字符串的任何部分

时间:2016-11-16 15:17:45

标签: java string

我有

String S = "Eng - Computer, Eng - Software.."

用户输入:

String I = "Engineering."

我希望这返回true,因为S包含" Eng"我的子串的一部分。

我该怎么做?

S.trim.toLowercase.contains(....)

由于"部分"无法正常工作子串。

3 个答案:

答案 0 :(得分:0)

S是一个标准字符串,用于检查进入用户的子字符串是否属于S的一部分?

如果是这样,您可以使用“包含”方法:

if (I.contains("*/string that you want to check*/")
  return true;

答案 1 :(得分:0)

这取决于你的意思。你在看我是否包含S中的任何单词?如果是这种情况,我建议将S分成每个单词的字符串数组,然后检查是否有任何单词是I的子字符串。看看这个函数。

public boolean checkSubstring(String S, String I){
    String[] words = S.split(" ");

    for(int i=0; i<words.length; i++){
        if(I.contains(words[i])
            return true; //We found a word contained in I!
    }

    return false; //None of the words were contained in I
}

答案 2 :(得分:-1)

尝试以下代码:

您需要对I进行标记,然后询问String S = "Eng - Computer, Eng - Software.."; String I = "Engineering."; //neither S or I contain each other System.out.println(S.trim().toLowerCase().contains(I)); System.out.println(I.trim().toLowerCase().contains(S)); String[] tokens = S.split(" "); //but parts of S are contained in I... for(String token : tokens) { if(I.contains(token)) { System.out.println("found : " +token); } } 是否包含任何这些令牌。

{{1}}