summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPekka Enberg <penberg@kernel.org>2011-04-25 11:36:10 +0000
committerPekka Enberg <penberg@kernel.org>2011-04-25 11:36:10 +0000
commit2511960092b08b21376cb283b5010deb0a5f0472 (patch)
treee47a7a448b6f748fbba340388bf42f90b9946401
parent685dce2df2f5cbb9598638e41482021f87e42e2e (diff)
downloadclasspath-2511960092b08b21376cb283b5010deb0a5f0472.tar.gz
Add Matcher.quoteReplacement API method
2011-04-25 Pekka Enberg <penberg@kernel.org> * java/util/regex/Matcher.java: (quoteReplacement): Implement missing Java 1.5 API method.
-rw-r--r--ChangeLog5
-rw-r--r--java/util/regex/Matcher.java23
2 files changed, 28 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 853c78c42..5b40b1b1b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-04-25 Pekka Enberg <penberg@kernel.org>
+
+ * java/util/regex/Matcher.java:
+ (quoteReplacement): Implement missing Java 1.5 API method.
+
2011-03-30 Gert Brettlecker <gert.brettlecker@ergon.ch>
PR classpath/42823
diff --git a/java/util/regex/Matcher.java b/java/util/regex/Matcher.java
index 2d058fbcb..8d033d5e3 100644
--- a/java/util/regex/Matcher.java
+++ b/java/util/regex/Matcher.java
@@ -614,4 +614,27 @@ public final class Matcher implements MatchResult
return snapshot;
}
+ /**
+ * Returns a literalized string of s where characters {@code $} and {@code
+ * \\} are escaped.
+ *
+ * @param s the string to literalize.
+ * @return the literalized string.
+ * @since 1.5
+ */
+ public static String quoteReplacement(String s)
+ {
+ if (s == null)
+ throw new NullPointerException();
+ CPStringBuilder sb = new CPStringBuilder();
+ for (int i = 0; i < s.length(); i++)
+ {
+ char ch = s.charAt(i);
+ if (ch == '$' || ch == '\\')
+ sb.append('\\');
+ sb.append(ch);
+ }
+ return sb.toString();
+ }
+
}