2012-09-30 6 views
12

で置き換えます。[ ]の間のすべてを削除する必要があります。[と]間のすべてをregex java

例:

マイ入力:ab[cd]e

予想される出力:abe


私は\[\]を使用してみましたが、それは違法なエスケープシーケンスとして報告されます。

誰でもこれを手伝ってください。

P .:私はJava 1.7を使用しています。

+0

でReplaceAll方法を試してみては私たちにあなたのコードを表示し、正規表現は – Bergi

答えて

17

使用String#replaceAll

String s = "ab[cd]e"; 
s = s.replaceAll("\\[.*?\\]", ""); // abe 

これは、空の文字列との間に[]、そしてすべてのものに置き換えられます。 ] `\\ [` `左角括弧に一致する[`、 `\\:

+0

おかげで動作するはずです、それは –

+1

@SaiSunderを働きました'は右角括弧'] 'にマッチし、'。*? 'は角括弧の間のすべてにマッチします。 –

+0

@SaiSunderあなたの問題を解決した場合は、回答を受け入れたものとしてマークします(回答のスコアの下にあるチェックマークをクリックします)。 – Vache

7

str = str.replaceAll("\\[.*?\\]","") 
関連する問題