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. Sin dígitos Java Regex Pattern
- 7. Analizador de BBCode sin Regex?
- 8. subcadena Ruby sub sin regex referencias atrás
- 9. Regex para encontrar una cadena sin terminar
- 10. .NET Regex, solo numérico, sin espacios
- 11. Regex para no alfabetos y sin numerales
- 12. Validación de correo electrónico TSQL (sin regex)
- 13. Java String.replaceAll no reemplaza una cita con la comilla escapada
- 14. La cadena Regex termina sin funcionar en Javascript
- 15. Regex - coincide con todo sin espacios en blanco
- 16. Regex dividió números y grupos de letras sin espacios
- 17. Regex insensible a mayúsculas/minúsculas sin utilizar la enumeración RegexOptions
- 18. Regex para hacer coincidir cadenas específicas sin un prefijo dado
- 19. Regex look-behind sin la longitud máxima obvia en Java
- 20. URL de coincidencia regex sin extensión de archivo
- 21. valores numéricos RegEx matcing con o sin separadores de miles
- 22. Ruby Regex vs Python Regex
- 23. anotación & regex
- 24. Javascript regex en comparación con Perl regex
- 25. Estándar Regex vs python regex discrepancia
- 26. regex: boost :: xpressive vs boost :: regex
- 27. C++ 11 regex: comprobando si la cadena comienza con regex
- 28. diacríticos Regex
- 29. Regex lookAhead
- 30. Cómo reemplazar un carácter más String.replaceAll utilizando el método de Java
posible duplicado de [Backslash problema con String.replaceAll] (http://stackoverflow.com/questions/1701839/backslash-problem-with-string-replaceall) – McDowell