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

Posted by Rajesh Shetty on October 09, 2006

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.

Trackbacks

Use this link to trackback from your own site.

Comments

Leave a response

  1. Anonymous Mon, 23 Apr 2007 11:17:00 EDT

    Thanks!

Comments