我希望在Java中用空字符串替换方括号中的文本:
例如,我有以下句子:
"你好,[1]这是一个示例[2],你能帮助[3]我吗?"
它应该变成:
"你好,这是一个示例,你能帮助我吗?"
String newStr = str.replaceAll("\\[\\d+\\] ", "");
这将用空字符串替换所有正则表达式的匹配项。
正则表达式是:
\\[ // an open square bracket
\\d+ // one or more digits
\\] // a closing square bracket
// + a space character
这是第二个版本(不是原问题所要求的内容,但更好地处理了空格):
String newStr = str.replaceAll(" *\\[\\d+\\] *", " ");
这段代码的作用是将所有正则表达式匹配到的字符串替换为一个空格字符。
这个正则表达式是:
* // zero or more spaces
\\[ // an open square bracket
\\d+ // one or more digits
\\] // a closing square bracket
* // zero or more spaces
.replaceAll("\\[.*?\\]", "").replaceAll(" +", " ");
请使用这个,
String str = "[How are you]";
str = str.replaceAll("\\[", "").replaceAll("\\]","");
[1] A B [4], C D [5] E F [8].
这样的输入可能无法正确处理。 - nhahtdh