4

Java で角括弧内のテキストを "" に置き換えたい:

たとえば、私は文を持っています

"Hello, [1] this is an example [2], can you help [3] me?"

次のようになります。

「こんにちは、これは例です。手伝ってもらえますか?」

4

3 に答える 3

14
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
于 2012-06-09T14:52:19.107 に答える
4

これはうまくいくはずです:

.replaceAll("\\[.*?\\]", "").replaceAll(" +", " ");
于 2012-06-09T14:52:31.530 に答える