首页 > 解决方案 > 如何在Java中编写正则表达式以删除匹配字符后字符串中的所有字符?

问题描述

我有类似下面的字符串行。

String log = "Daily batch run has been completed Status = Success at the first attempt Logging out Admin...OK"
String batchOutput = "";

我只需要提取“第一次尝试成功”。

我已经尝试了以下。

Pattern pattern = Pattern.compile("Status = (.*)");
Matcher matcher = pattern.match(log);

if (matcher.find()) {

batchOutput = matcher.group(1);
System.out.println(batchOutput) // This displays Status = Success at the first attempt Logging out Admin...OK"
}

但是,我只需要提取“状态=第一次尝试成功”

我再次获取了 batchOutput 字符串的子字符串

batchOutput = batchOutput.substring(0, batchOutput.indexOf("L")).trim(); // This displays only "Status = Success at the first attempt"

我相信,可以通过使用有效的正则表达式来提取,而不是使用 substring 方法。

请问我能得到一些帮助吗?}

标签: javaregex

解决方案


推荐阅读