如何在Java中搜索并获取包含特定字符串及其后三个字符的所有子串,将其存储为一个列表输出?
时间: 2024-12-18 07:36:30 浏览: 7
输出一个字符串的全部子串.docx
在Java中,你可以使用`String`类的`substring()`方法结合循环结构来实现这个功能。首先,创建一个函数接受原始字符串和目标子串作为输入。然后,遍历原字符串,每次找到目标子串后,取出它后面跟着的三个字符作为一个新的子串,并将所有符合条件的子串添加到列表中。以下是具体的步骤:
```java
import java.util.ArrayList;
import java.util.List;
public List<String> searchAndExtract(String strOriginal, String substr) {
List<String> result = new ArrayList<>();
int start = -1; // 存储上一次匹配的起始位置
while ((start = strOriginal.indexOf(substr, start + 1)) != -1) { // 使用indexOf查找子串
int end = start + substr.length(); // 计算子串结束位置
if (end + 3 <= strOriginal.length()) { // 检查是否有足够的字符提取
result.add(strOriginal.substring(start, end + 3)); // 添加子串到结果列表
}
}
return result;
}
```
在这个函数里,`indexOf`方法用于查找子串在原始字符串中的首次出现位置,如果找不到就返回-1。我们不断更新开始位置以便下一次查找,同时检查是否还有足够长度提取后面的三个字符。
现在你有了一个名为`searchAndExtract`的函数,可以用于从给定的字符串中找出包含特定子串及其后三个字符的子串列表。
阅读全文