假设我有两个字符串,
String s1 = "AbBaCca";
String s2 = "bac";
我想执行一个检查,返回s2包含在s1中。我可以这样做:
return s1.contains(s2);
我非常确定contains()是区分大小写的,但是我不能从阅读文档中确定这一点。如果是的话,我想我最好的方法是:
return s1.toLowerCase().contains(s2.toLowerCase());
撇开所有这些不谈,有没有另一种(可能更好的)方法可以在不考虑大小写敏感性的情况下完成这个任务?
String container = " Case SeNsitive ";
String sub = "sen";
if (rcontains(container, sub)) {
System.out.println("no case");
}
public static Boolean rcontains(String container, String sub) {
Boolean b = false;
for (int a = 0; a < container.length() - sub.length() + 1; a++) {
//System.out.println(sub + " to " + container.substring(a, a+sub.length()));
if (sub.equalsIgnoreCase(container.substring(a, a + sub.length()))) {
b = true;
}
}
return b;
}
基本上,它是一个接受两个字符串的方法。它应该是contains()的不区分大小写的版本。在使用contains方法时,您希望查看一个字符串是否包含在另一个字符串中。
这个方法接受字符串“sub”,并检查它是否等于容器字符串中与“sub”长度相等的子字符串。如果你看一下for循环,你会发现它在容器字符串上迭代子字符串(即“sub”的长度)。
每次迭代检查容器字符串的子字符串是否为equalsIgnoreCase。