Java 中匹配字符串的方法
在Java编程中,字符串匹配是一个常见的需求,无论是进行数据验证、搜索还是格式化处理,匹配字符串都是基础技能之一,Java提供了多种方法来匹配字符串,以下是一些常用的匹配字符串的方法和示例。

使用 String 类的 contains() 方法
contains() 方法是 String 类提供的一个简单方法,用于检查字符串中是否包含指定的子字符串。
public class StringContainsExample {
public static void main(String[] args) {
String mainString = "Hello, World!";
String subString = "World";
if (mainString.contains(subString)) {
System.out.println("子字符串 '" + subString + "' 存在于主字符串中。");
} else {
System.out.println("子字符串 '" + subString + "' 不存在于主字符串中。");
}
}
}
使用 String 类的 startsWith() 和 endsWith() 方法
startsWith() 和 endsWith() 方法分别用于检查字符串是否以指定的子字符串开始或结束。
public class StringStartsWithEndsWithExample {
public static void main(String[] args) {
String mainString = "Hello, World!";
String startsWith = "Hello";
String endsWith = "World";
if (mainString.startsWith(startsWith)) {
System.out.println("字符串以 '" + startsWith + "' 开始。");
}
if (mainString.endsWith(endsWith)) {
System.out.println("字符串以 '" + endsWith + "' 结束。");
}
}
}
使用 String 类的 indexOf() 和 lastIndexOf() 方法
indexOf() 和 lastIndexOf() 方法可以找到子字符串在主字符串中的位置,如果找不到,它们会返回 -1。

public class StringIndexOfLastIndexOfExample {
public static void main(String[] args) {
String mainString = "Hello, World!";
String subString = "World";
int index = mainString.indexOf(subString);
if (index != -1) {
System.out.println("子字符串 '" + subString + "' 在主字符串中的位置是: " + index);
} else {
System.out.println("子字符串 '" + subString + "' 未在主字符串中找到。");
}
}
}
使用正则表达式匹配字符串
Java的 Pattern 和 Matcher 类提供了强大的正则表达式匹配功能,以下是一个使用正则表达式匹配字符串的示例。
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexStringMatchingExample {
public static void main(String[] args) {
String mainString = "The quick brown fox jumps over the lazy dog";
String regex = "quick brown";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(mainString);
if (matcher.find()) {
System.out.println("找到匹配的子字符串: " + matcher.group());
} else {
System.out.println("未找到匹配的子字符串。");
}
}
}
使用 String 类的 split() 方法
split() 方法可以将字符串按照指定的分隔符分割成字符串数组。
public class StringSplitExample {
public static void main(String[] args) {
String mainString = "apple,banana,cherry";
String[] fruits = mainString.split(",");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
使用 String 类的 matches() 方法
matches() 方法使用正则表达式来检查整个字符串是否符合模式。

public class StringMatchesExample {
public static void main(String[] args) {
String mainString = "The price is $99";
String regex = "^The price is \\$[0-9]+$";
if (mainString.matches(regex)) {
System.out.println("字符串符合正则表达式模式。");
} else {
System.out.println("字符串不符合正则表达式模式。");
}
}
}
通过以上方法,Java开发者可以根据不同的需求选择合适的字符串匹配技术,每种方法都有其适用场景,理解这些方法的原理和用法对于编写高效、可维护的代码至关重要。


















