java字符串识别子串
时间: 2024-09-18 11:03:47 浏览: 6
在 Java 中,你可以使用多种方法来识别或查找字符串中的子串。以下是两个常用的内置方法:
1. `indexOf()` 和 `lastIndexOf()`: 这两个方法用于查找指定字符序列在一个字符串中首次或最后一次出现的位置。例如:
```java
String str = "Hello World";
int index = str.indexOf("World"); // 返回 6
```
如果找不到子串,`indexOf()` 返回 -1,`lastIndexOf()` 返回从后向前找到的第一个匹配位置。
2. `startsWith()` 和 `endsWith()`: 分别检查字符串是否以指定的前缀或后缀开始或结束:
```java
String prefixStr = "Hello";
boolean startsWithPrefix = str.startsWith(prefixStr); // true if starts with "Hello"
```
3. `contains()`: 检查字符串是否包含指定的子串,返回布尔值:
```java
boolean containsSubstring = str.contains("World");
```
4. 正则表达式:Java 提供了 `Pattern` 和 `Matcher` 类来进行复杂的模式匹配,比如 `Pattern.compile()` 和 `matcher().find()` 等方法:
```java
Pattern pattern = Pattern.compile("\\bWorld\\b"); // 匹配 "World",忽略大小写
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println("Found match at position: " + matcher.start());
}
```
以上都是基本的子串查找操作,具体使用哪种取决于你的需求。