diff options
author | Pekka Enberg <penberg@kernel.org> | 2011-04-25 11:36:10 +0000 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-04-25 11:36:10 +0000 |
commit | 2511960092b08b21376cb283b5010deb0a5f0472 (patch) | |
tree | e47a7a448b6f748fbba340388bf42f90b9946401 | |
parent | 685dce2df2f5cbb9598638e41482021f87e42e2e (diff) | |
download | classpath-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-- | ChangeLog | 5 | ||||
-rw-r--r-- | java/util/regex/Matcher.java | 23 |
2 files changed, 28 insertions, 0 deletions
@@ -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(); + } + } |