1

括弧内の1文字をすべて削除したいと思います。たとえば、文字列「I am at part(a)and not(aaa)」では、望ましい結果は「I am at part and not(aaa)」であり、2番目の括弧のペアは長いため保持されます。Javaでこれをどのように達成できますか?私は以下を試しましたが、何にも一致しません!

 String text = "the meaning of 5 U.S.C. 552(a)(6)(B) and Section 1.16(b) .";
 text.replaceAll("\\(.?\\)", ""); // should return "the meaning of 5 U.S.C. 552 and Section 1.16 ." but doesn't!

問題は、円記号と括弧の文字をどのようにエスケープするかということだと思いますが、「\\(。?\\)」などのさまざまなバリエーションを試しましたが、役に立ちませんでした。さらに、彼らはオンラインの正規表現サイトで動作しているように見えるので、私は何が間違っているのか完全に途方に暮れています。

4

1 に答える 1

6

正規表現は正常に見えます-結果を変数に割り当てるのを忘れている可能性がありますか?

text = text.replaceAll("\\(.?\\)", "");
于 2013-03-26T18:30:06.933 に答える