replaceAllとかmatchesメソッドで括弧をマッチさせる

※当サイトではアフィリエイト広告を利用しています

JavaでStringクラスのreplaceAllとかmatchesメソッドで、”[“や”]”(大括弧)とマッチさせたい場合、普通に実行するとエラーになってしまう。

1.事象

以下のようなソースでは実行時にエラーとなる。

サンプルソースコード

String str = "ab[c]";
str.replaceAll("[", "");

エラー内容

java.util.regex.PatternSyntaxException: Unclosed character class near index 0

2.対応方法

バックスラッシュを2つ、”[“や”]”の前に付けることで対応することができる。

サンプルソースコード

String str = "ab[c]";
str.replaceAll("\\[", "");

コメント