Cómo reemplazar el punto (.) En una cadena en Java


87

Tengo una cadena llamada persons.name

Quiero reemplazar el DOT .con, /*/ es decir, mi salida serápersons/*/name

Probé este código:

String a="\\*\\";
str=xpath.replaceAll("\\.", a);

Estoy obteniendo StringIndexOutOfBoundsException.

¿Cómo reemplazo el punto?

Respuestas:



9

Utilice Apache Commons Lang :

String a= "\\*\\";
str = StringUtils.replace(xpath, ".", a);

o con JDK independiente:

String a = "\\*\\"; // or: String a = "/*/";
String replacement = Matcher.quoteReplacement(a);
String searchString = Pattern.quote(".");
String str = xpath.replaceAll(searchString, replacement);

9

Si desea reemplazar una cadena simple y no necesita las habilidades de las expresiones regulares, puede usar replace, no replaceAll.

replace reemplaza cada subcadena coincidente pero no interpreta su argumento como una expresión regular.

str = xpath.replace(".", "/*/");

1
Esta debería ser la respuesta aceptada, en mi opinión.
Aaron Lehmann

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.