Java で角括弧内のテキストを "" に置き換えたい:
たとえば、私は文を持っています
"Hello, [1] this is an example [2], can you help [3] me?"
次のようになります。
「こんにちは、これは例です。手伝ってもらえますか?」
String newStr = str.replaceAll("\\[\\d+\\] ", "");
これが行うことは、正規表現のすべての出現を空の文字列に置き換えることです。
正規表現は次のとおりです。
\\[ // an open square bracket
\\d+ // one or more digits
\\] // a closing square bracket
// + a space character
これは2番目のバージョンです(OPが要求したものではありませんが、空白のより良い処理です):
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(" +", " ");