Java String replace: java.lang.IndexOutOfBoundsException: No group 2

Issue

If you see java.lang.IndexOutOfBoundsException: No group 2 , when you are doing <String>.replaceFirst(<source string>, <target string>) or <String>.replaceAll(<source string>, <target string>).

Reason

You possibly have “$” character in your target string.

Solution

Add java.util.regex.Matcher.quoteReplacement(<target string>), before you apply replace function.

Bug reported on Sun site by someone.

Comments

One Response to “Java String replace: java.lang.IndexOutOfBoundsException: No group 2”

  1. Anonymous on April 23rd, 2007 11:17 am

    Thanks!

Leave a Reply