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

Java 检查字符串是否包含子字符串的任何部分,java,string,Java,String,我有 用户输入: String S = "Eng - Computer, Eng - Software.." 我希望返回true,因为S包含I的子字符串的“Eng”部分 我该怎么做 String I = "Engineering." 由于子字符串的“部分”而无法正常工作。S是一个标准字符串,用于检查输入用户的子字符串是否是S的一部分 如果是,您可以使用“contains”方法: 请尝试以下代码: 您需要将S标记化,然后询问I是否包含这些标记 if (I.contains("*/string

我有

用户输入:

String S = "Eng - Computer, Eng - Software.."
我希望返回true,因为S包含I的子字符串的“Eng”部分

我该怎么做

String I = "Engineering."

由于子字符串的“部分”而无法正常工作。

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

如果是,您可以使用“contains”方法:

请尝试以下代码:

您需要将
S
标记化,然后询问
I
是否包含这些标记

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

这取决于你的意思。你在看S中的单词是否包含在I中?如果是这样的话,我建议将s拆分为每个单词的字符串数组,然后检查是否有任何单词是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);
    }
}
public boolean checkSubstring(字符串S,字符串I){
字符串[]字=S.split(“”);

为(int i=0;java中的IMATECHER类)不清楚的问题。请写下您预期的输出和代码的详细信息,以便我回答。请澄清您认为有效的子串,例如:是代码> E < /代码>有效子串?没有投票,但它是高高在上的(请确保您阅读它)。,并且绝对没有解释它为什么工作,以及它是如何工作的。“试试这个代码”类型的答案是没有用的。公平的批评,我会更新答案。嵌入的注释提供了一些解释
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);
    }
}
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
}