estoy usando Matcher.appendReplacement() y funcionó muy bien hasta que mi cadena de reemplazo tenía un $ 2 en que:Matcher.appendReplacement con el texto literal
Tenga en cuenta que las barras invertidas (\) y el dólar signos ($) en la cadena de reemplazo puede hacer que los resultados sean diferentes que si se tratara como una cadena de reemplazo literal . Los signos de dólar se pueden tratar como referencias a subsecuencias capturadas como se describe anterior, y las barras invertidas se usan para caracteres de escape literales en la cadena de reemplazo .
¿Existe algún método de conveniencia en alguna parte que salga de todas las barras diagonales inversas \ y signos de dólar $ con una barra diagonal inversa? ¿O tengo que escribir uno yo mismo? Suena como que no es tan difícil, solo estaría bien si le dieron una> :(
edición: ya que te dan una, necesito replace(">:(", ":-)");
NOTA: Esto no es un duplicado de "Cómo escanear texto para la expresión regular en Java". –
Lo siento. Vi que la respuesta n. ° 2 mostraba cómo usar quoteReplacement y no me molestaba en leer todo. –
Parece un duplicado de http://stackoverflow.com/questions/60160/how-to-escape-text-for-regular-expression-in-java para mí. – daveb