正则表达式Java正则表达式从字符串中删除匹配项
我正在尝试找出如何从字符串中删除找到的匹配项。因此,我的代码示例当前如下所示:
public void checkText() {
String helper = "985, 913, 123, SomeotherText, MoreText, MoreText";
Pattern pattern = Pattern.compile("\\b\\d{3}");
Matcher matcher = pattern.matcher(helper);
while (matcher.find()) {
String newtext = "Number: " + matcher.group() + "\n"+ newtext;
helper.replaceAll(matcher.group(),"");
}
newtext = newtext + "________________\n"+ helper;
editText.setText(newtext);
}
所以我的输入字符串是:985, 913, 123, SomeotherText, MoreText, MoreText
运行代码后,我希望看到以下内容:
Number: 985
Number: 913
Number: 123
________________________
SomeotherText, MoreText, MoreText
任何人都能告诉我我现在的代码有什么问题吗
# 1 楼答案
代码中有一些内容可以更新:
helper
, , ,
开头,并留下逗号和后面的空格String newtext = "";
见a Java demo
您的代码可能如下所示:
结果:
# 2 楼答案
由于您已经在使用
Matcher
类,因此也可以使用方法Matcher.appendReplacement
进行替换: