FULL PRODUCT VERSION :
ADDITIONAL OS VERSION INFORMATION :
On Windows and Mac OS X and probably everywhere...
Windows
=======
* Windows XP Professional, Service Pack 3
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Mac OS X
========
* Darwin plasma.lan 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-9M3125)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)
A DESCRIPTION OF THE PROBLEM :
Complete example here:
package se.storm.opapi;
public class TestBugReplaceAll {
public final static void main(String[] args) {
System.out.println("gobbledegook".replaceAll("oo", "\\"));
}
}
/*
[info] Running se.storm.opapi.TestBugReplaceAll
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:686)
at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at se.storm.opapi.TestBugReplaceAll.main(TestBugReplaceAll.java:6)
*/
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See Descr. above
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
should replace all "oo" with "\", i.e. replace all occurances of double o with a single backslash character.
ACTUAL -
throws java.lang.StringIndexOutOfBoundsException: String index out of range: 1
see desc above.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:686)
at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at se.storm.opapi.TestBugReplaceAll.main(TestBugReplaceAll.java:6)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package se.storm.opapi;
public class TestBugReplaceAll {
public final static void main(String[] args) {
System.out.println("gobbledegook".replaceAll("oo", "\\"));
}
}
/*
[info] Running se.storm.opapi.TestBugReplaceAll
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:686)
at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at se.storm.opapi.TestBugReplaceAll.main(TestBugReplaceAll.java:6)
*/
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
unknown.
ADDITIONAL OS VERSION INFORMATION :
On Windows and Mac OS X and probably everywhere...
Windows
=======
* Windows XP Professional, Service Pack 3
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
Mac OS X
========
* Darwin plasma.lan 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386
java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-9M3125)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)
A DESCRIPTION OF THE PROBLEM :
Complete example here:
package se.storm.opapi;
public class TestBugReplaceAll {
public final static void main(String[] args) {
System.out.println("gobbledegook".replaceAll("oo", "\\"));
}
}
/*
[info] Running se.storm.opapi.TestBugReplaceAll
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:686)
at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at se.storm.opapi.TestBugReplaceAll.main(TestBugReplaceAll.java:6)
*/
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See Descr. above
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
should replace all "oo" with "\", i.e. replace all occurances of double o with a single backslash character.
ACTUAL -
throws java.lang.StringIndexOutOfBoundsException: String index out of range: 1
see desc above.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:686)
at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at se.storm.opapi.TestBugReplaceAll.main(TestBugReplaceAll.java:6)
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
package se.storm.opapi;
public class TestBugReplaceAll {
public final static void main(String[] args) {
System.out.println("gobbledegook".replaceAll("oo", "\\"));
}
}
/*
[info] Running se.storm.opapi.TestBugReplaceAll
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(String.java:686)
at java.util.regex.Matcher.appendReplacement(Matcher.java:703)
at java.util.regex.Matcher.replaceAll(Matcher.java:813)
at java.lang.String.replaceAll(String.java:2189)
at se.storm.opapi.TestBugReplaceAll.main(TestBugReplaceAll.java:6)
*/
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
unknown.
- duplicates
-
JDK-7067045 replaceAll("\u20ac", "$"); causses java.lang.StringIndexOutOfBoundsExceptio
-
- Closed
-