在Java中,我们可以使用String.contains()来检查String是否包含子字符串。
1. String.contains()–区分大小写
JavaExample1.java
package com.mkyong;
public class JavaExample1 {
public static void main(String[] args) {
String name = "mkyong is learning Java 123";
System.out.println(name.contains("Java")); // true
System.out.println(name.contains("java")); // false
System.out.println(name.contains("MKYONG")); // false
System.out.println(name.contains("mkyong")); // true
if (name.contains("Java")) {
System.out.println("Hello Java");
} else {
System.out.println("abc...");
}
}
}
输出量
true
false
false
true
Hello Java
2. String.contains()–忽略大小写
这个想法是在使用.contains()检查之前将所有字符串和子字符串转换为小写
JavaExample2.java
package com.mkyong;
public class JavaExample2 {
public static void main(String[] args) {
String name = "mkyong is learning Java 123";
System.out.println(containsIgnoreCase(name, "Java")); // true
System.out.println(containsIgnoreCase(name, "java")); // true
System.out.println(containsIgnoreCase(name, "MKYONG")); // true
System.out.println(containsIgnoreCase(name, "mkyong")); // true
}
public static boolean containsIgnoreCase(String str, String subString) {
return str.toLowerCase().contains(subString.toLowerCase());
}
}
输出量
true
true
true
true
3. indexOf()
3.1查看JDK String源代码, contains()使用indexOf()在内部检查子字符串。
String.java
package java.lang;
public boolean contains(CharSequence s) {
return indexOf(s.toString()) >= 0;
}
3.2因此,我们也可以像这样检查子字符串:
JavaExample3.java
package com.mkyong;
public class JavaExample3 {
public static void main(String[] args) {
String name = "mkyong is learning Java 123";
if (name.indexOf("Java") != -1) {
System.out.println("Hello Java"); // print this
} else {
System.out.println("abc...");
}
}
}
输出量
Hello Java
参考文献
String.contains()JavaDocs String.indexOf()JavaDocs
标记: Java 字符串
翻译自: https://mkyong.com/java/java-check-if-a-string-contains-another-string/