Я использую replaceAll()
в Groovy и получаю ошибку, когда строка замены содержит символ $
(который интерпретируется как ссылка на группу регулярных выражений).
Я обнаружил, что мне нужно сделать довольно уродливую двойную замену:
def regexpSafeReplacement = replacement.replaceAll(/\$/, '\\\\\\$')
replaced = ("foo" =~ /foo/).replaceAll(regexpSafeReplacement)
Где:
replacement = "$bar"
И желаемый результат:
replaced = "$bar"
Есть ли лучший способ выполнить эту замену без промежуточного шага?