diff options
Diffstat (limited to 'src/library/scala/collection/immutable/StringLike.scala')
-rw-r--r-- | src/library/scala/collection/immutable/StringLike.scala | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/library/scala/collection/immutable/StringLike.scala b/src/library/scala/collection/immutable/StringLike.scala index 926fde4fe0..98f1b90866 100644 --- a/src/library/scala/collection/immutable/StringLike.scala +++ b/src/library/scala/collection/immutable/StringLike.scala @@ -162,6 +162,21 @@ self => if (toString.endsWith(suffix)) toString.substring(0, toString.length() - suffix.length) else toString + /** Replace all literal occurrences of `literal` with the string `replacement`. + * This is equivalent to [[java.lang.String#replaceAll]] except that both arguments + * are appropriately quoted to avoid being interpreted as metacharacters. + * + * @param literal the string which should be replaced everywhere it occurs + * @param replacement the replacement string + * @return the resulting string + */ + def replaceAllLiterally(literal: String, replacement: String): String = { + val arg1 = java.util.regex.Pattern.quote(literal) + val arg2 = java.util.regex.Matcher.quoteReplacement(replacement) + + toString.replaceAll(arg1, arg2) + } + /** * For every line in this string: * |