如何判断字符串对象中是否存在子字符串“template”(例如)?
如果不是区分大小写的检查,那就太好了。
答案 0 :(得分:31)
对于不区分大小写的搜索,在indexOf之前的原始字符串和子字符串上的toUpperCase或toLowerCase
String full = "my template string";
String sub = "Template";
boolean fullContainsSub = full.toUpperCase().indexOf(sub.toUpperCase()) != -1;
答案 1 :(得分:13)
使用正则表达式并将其标记为不区分大小写:
if (myStr.matches("(?i).*template.*")) {
// whatever
}
(?i)会启用不区分大小写,并且搜索词两端的。* 会匹配任何周围的字符(因为 String.matches < / strong>适用于整个字符串)。
答案 2 :(得分:3)
您可以使用indexOf()和toLowerCase()对子字符串执行不区分大小写的测试。
String string = "testword";
boolean containsTemplate = (string.toLowerCase().indexOf("template") >= 0);
答案 3 :(得分:2)
String word = "cat";
String text = "The cat is on the table";
Boolean found;
found = text.contains(word);
答案 4 :(得分:0)
public static boolean checkIfPasswordMatchUName(final String userName, final String passWd) {
if (userName.isEmpty() || passWd.isEmpty() || passWd.length() > userName.length()) {
return false;
}
int checkLength = 3;
for (int outer = 0; (outer + checkLength) < passWd.length()+1; outer++) {
String subPasswd = passWd.substring(outer, outer+checkLength);
if(userName.contains(subPasswd)) {
return true;
}
if(outer > (passWd.length()-checkLength))
break;
}
return false;
}