我有
String S = "Eng - Computer, Eng - Software.."
用户输入:
String I = "Engineering."
我希望这返回true,因为S包含" Eng"我的子串的一部分。
我该怎么做?
S.trim.toLowercase.contains(....)
由于"部分"无法正常工作子串。
答案 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}}