Java实现提取字符串中全部包含关键字前后"的全部字符
时间: 2024-05-03 22:21:09 浏览: 11
可以使用正则表达式来实现。
具体步骤如下:
1. 定义一个正则表达式,用于匹配包含关键字的字符串。例如:`\".*关键字.*\"`
2. 使用`Pattern`类和`Matcher`类来匹配字符串,找到所有符合条件的子串。
3. 对于每个符合条件的子串,使用正则表达式提取其中包含的字符串,即去掉前后的引号。例如:`\"(.*关键字.*)\"`。
4. 将提取出的字符串保存起来。
以下是示例代码:
```
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class KeywordExtractor {
public static void main(String[] args) {
String str = "这是一个包含关键字的字符串:\"我是关键字,我是重点\",我是不重要的字符。还有一个包含关键字的字符串:\"我也是关键字\"。";
String keyword = "关键字";
String regex = "\".*" + keyword + ".*\"";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
String matchedStr = matcher.group();
String keywordStr = matchedStr.replaceAll("\"(.*)" + keyword + "(.*)\"", "$1$2");
System.out.println(keywordStr);
}
}
}
```
输出结果为:
```
我是关键字,我是重点
我也是关键字
```