reemplazar - sacar espacios en java
Reemplazar espacio para guiĆ³n (7)
Las cuerdas son inmutables.
Debe guardar el valor devuelto por replace()
. Si desea reemplazar más de una ocurrencia, use replaceAll()
.
String replaceText = "AT AT";
replaceText = replaceText.replaceAll(" ", "-");
Como @Mark Peters señala en los comentarios, replace(Char, Char)
es suficiente (y más rápido) para reemplazar todas las ocurrencias.
String replaceText = "AT AT";
replaceText = replaceText.replace('' '', ''-'');
En caso de que este hecho te moleste : la inmutabilidad es algo Good Thing
.
Estoy tratando de reemplazar un carácter de espacio en un guión que tengo en mi cadena.
String replaceText = "AT AT";
replaceText.replace('' '', ''-'');
pero cuando hago esto, parece que no puedo reemplazar al personaje. replaceAll()
método replaceAll()
y tampoco funciona.
++++++ Respuesta +++++++
lo siento mi error ... el resultado de la programación de la noche :(
Gracias por la respuesta, probablemente no pueda responder a todos, así que verificaré la primera respuesta.
replaceText = replaceText.replace('' '', ''-'');
El método de reemplazo devuelve una cadena, por lo que debe volver a asignar su variable de cadena, es decir,
String replaceText = "AT AT";
replaceText = replaceText.replace('' '', ''-'');
Las cuerdas son inmutables. Necesitas usar el valor de retorno de reemplazar:
replaceText = replaceText.replace('' '', ''-'');
Los métodos replace
y replaceAll
devuelven una cadena con el resultado reemplazado. ¿Está utilizando el valor devuelto o está esperando que la cadena replaceText
cambie? Si es lo último, no verás el cambio, porque las cuerdas son immutable .
String replaceText = "AT AT";
String replaced = replaceText.replace('' '', ''-'');
// replaced will be "AT-AT", but replaceText will NOT change
Si está reemplazando muchas cadenas, debe considerar el uso de StringBuilder para el rendimiento.
String replaceText = "AT AT";
StringBuilder sb = new StringBuilder(replaceText);
sb.Replace('' '', ''-'');
/*You can use below method pass your String parameter and get result as String spaces replaced with hyphen*/
private static String replaceSpaceWithHypn(String str) {
if (str != null && str.trim().length() > 0) {
str = str.toLowerCase();
String patternStr = "//s+";
String replaceStr = "-";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(str);
str = matcher.replaceAll(replaceStr);
patternStr = "//s";
replaceStr = "-";
pattern = Pattern.compile(patternStr);
matcher = pattern.matcher(str);
str = matcher.replaceAll(replaceStr);
}
return str;
}
replaceText = replaceText.replace('' '', ''-'');
Las cadenas son immutable , no se pueden cambiar después de la creación. Todos los métodos que de alguna manera modifiquen una cadena devolverán una nueva cadena con las modificaciones incorporadas.