Me gustaría reemplazar todas las instancias de una subcadena en una cadena pero String.replaceAll()
solo acepta un patrón. La cuerda que tengo proviene de un partido anterior. ¿Es posible agregar escapes al patrón que tengo o hay una versión de replaceAll()
en otra clase que acepta una cadena literal en lugar de un patrón?String.replaceAll sin RegEx
Respuesta
Simplemente use String.replace(CharSequence,CharSequence)
en lugar de replaceAll
.
El método para agregar escapes es Pattern.quote()
.
String replaced = myString.replaceAll(Pattern.quote(matchingStr), replacementStr)
Pero como dice Jon sólo puede utilizar replace()
. A pesar de que se desvía del nombre replaceAll
, reemplaza todas las ocurrencias como replaceAll()
.
Funciona perfectamente si tiene un "$" en su matchingStr para ejemplo. –
en lugar de Pattern.compile(); Pattern.quote() produce resultados no deseados –
@PavloZvarych: 'Pattern.compile()' compila la cadena como una expresión regular, lo que significa que a los caracteres especiales se les dará un significado especial. Eso es todo lo contrario de lo que hace 'Pattern.quote()', y lo que el OP estaba pidiendo ('quote()' dice, "trata la cadena como un literal"). Tal vez podrías expandirte sobre los "resultados indeseables" de los que estás hablando. –
- 1. Java String.replaceAll regex
- 2. Uso de funciones o métodos en String.replaceAll() regex de Java
- 3. Pattern.DOTALL con String.replaceAll
- 4. no se puede entender el comportamiento String.replaceAll no expansivo
- 5. String.replaceAll (expresiones regulares) hace que el mismo reemplazo dos veces
- 6. Analizador de BBCode sin Regex?
- 7. Sin dígitos Java Regex Pattern
- 8. Regex para encontrar una cadena sin terminar
- 9. Regex para no alfabetos y sin numerales
- 10. .NET Regex, solo numérico, sin espacios
- 11. Validación de correo electrónico TSQL (sin regex)
- 12. subcadena Ruby sub sin regex referencias atrás
- 13. Java String.replaceAll no reemplaza una cita con la comilla escapada
- 14. URL de coincidencia regex sin extensión de archivo
- 15. valores numéricos RegEx matcing con o sin separadores de miles
- 16. Regex dividió números y grupos de letras sin espacios
- 17. Regex - coincide con todo sin espacios en blanco
- 18. Regex insensible a mayúsculas/minúsculas sin utilizar la enumeración RegexOptions
- 19. La cadena Regex termina sin funcionar en Javascript
- 20. Regex para hacer coincidir cadenas específicas sin un prefijo dado
- 21. Regex look-behind sin la longitud máxima obvia en Java
- 22. Ruby Regex vs Python Regex
- 23. anotación & regex
- 24. Javascript regex en comparación con Perl regex
- 25. regex: boost :: xpressive vs boost :: regex
- 26. Estándar Regex vs python regex discrepancia
- 27. C++ 11 regex: comprobando si la cadena comienza con regex
- 28. diacríticos Regex
- 29. Regex lookAhead
- 30. ¿Regex con una cuerda o no regex con una cuerda?
posible duplicado de [Backslash problema con String.replaceAll] (http://stackoverflow.com/questions/1701839/backslash-problem-with-string-replaceall) – McDowell