Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #18947

Re: Regexp exception in String.replaceAll

From Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Regexp exception in String.replaceAll
Date 2012-09-26 16:30 +0200
Organization A noiseless patient Spider
Message-ID <k3v3ic$9j4$1@dont-email.me> (permalink)
References <7ku568loa4ogik4e6asouundcbcjurg6lj@4ax.com>

Show all headers | View raw


On 26/09/2012 14:57, Tim Slattery allegedly wrote:
> I'm getting an "IndexOutOfBoundsException" from the regex processor
> when I call String.replaceAll.
> 
> Here's the call:
> 
> String result = upload.replaceAll("\\{FileName\\}", fileName);
> 
> "upload" is a string that contains at least one occurrence of
> "{FileName}", which is to be replaced by the actual filename passed
> into this method. Unfortunately, I don't know what the filename was
> when the exception occurred. The stacktrace looks like this:
> 
> java.lang.IndexOutOfBoundsException: No group 5
>         at java.util.regex.Matcher.group(Matcher.java:470)
>         at java.util.regex.Matcher.appendReplacement(Matcher.java:737)
>         at java.util.regex.Matcher.replaceAll(Matcher.java:813)
>         at java.lang.String.replaceAll(String.java:2189)
>         at (the line shown above)
> 
> I'm aware that replaceAll uses the regexp mechanism for matching
> strings. But I can't imagine what could cause this exception. Does
> anybody have a clue?
> 

Read the Javadoc carefully:

<http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll%28java.lang.String,%20java.lang.String%29>
> Note that backslashes (\) and dollar signs ($) in the replacement string may cause the results to be different than if it were being treated as a literal replacement string; see Matcher.replaceAll. Use Matcher.quoteReplacement(java.lang.String) to suppress the special meaning of these characters, if desired. 

-- 
DF.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Regexp exception in String.replaceAll Tim Slattery <Slattery_T@bls.gov> - 2012-09-26 08:57 -0400
  Re: Regexp exception in String.replaceAll Arne Vajhøj <arne@vajhoej.dk> - 2012-09-26 09:13 -0400
  Re: Regexp exception in String.replaceAll Steven Simpson <ss@domain.invalid> - 2012-09-26 15:18 +0100
  Re: Regexp exception in String.replaceAll Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-09-26 16:30 +0200
    Re: Regexp exception in String.replaceAll Tim Slattery <Slattery_T@bls.gov> - 2012-09-26 12:35 -0400
      Re: Regexp exception in String.replaceAll markspace <-@.> - 2012-09-26 10:00 -0700
        Re: Regexp exception in String.replaceAll Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-09-26 21:26 +0200
          Re: Regexp exception in String.replaceAll Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-09-26 13:27 -0700
            Re: Regexp exception in String.replaceAll markspace <-@.> - 2012-09-26 14:31 -0700
      Re: Regexp exception in String.replaceAll Lew <lewbloch@gmail.com> - 2012-09-26 13:32 -0700
  Re: Regexp exception in String.replaceAll Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-09-26 09:43 -0700
  Re: Regexp exception in String.replaceAll Roedy Green <see_website@mindprod.com.invalid> - 2012-09-27 12:10 -0700

csiph-web