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?

soumitra chatterjee
fuente

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);
palacsint
fuente
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(".", "/*/");
khelwood
fuente
1
Esta debería ser la respuesta aceptada, en mi opinión.
Aaron Lehmann
-1

return sentencia.replaceAll ("\ s", ".");

Hazari Ram Arshi
fuente