Reemplazar espacio a guión

Estoy intentando substituir un carácter del espacio en un guión que tengo en mi secuencia.

String replaceText = "AT AT"; replaceText.replace(' ', '-'); 

pero cuando hago esto, no puedo reemplazar al personaje. He intentado el método replaceAll() y tampoco funciona.

++++++ Respuesta +++++++

lo siento mi error .. el resultado de la programación tarde en la noche 🙁

gracias por la respuesta no puedo probablemente responder a todos, así que voy a comprobar la primera respuesta

 replaceText = replaceText.replace(' ', '-'); 

 replaceText = replaceText.replace(' ', '-'); 

Las cadenas son inmutables , no pueden ser cambiadas 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.

Las cadenas son inmutables.

Debe guardar el valor devuelto por replace() . Si desea reemplazar más de una ocurrencia, utilice replaceAll() .

 String replaceText = "AT AT"; replaceText = replaceText.replaceAll(" ", "-"); 

Como señala Mark Peters 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 molesta: la inmutabilidad es una Good Thing .

Los métodos replace y replaceAll devuelven una cadena con el resultado reemplazado. ¿Está utilizando el valor devuelto o espera que la cadena replaceText cambie? Si es el último, no verá el cambio, porque las cadenas son inmutables .

 String replaceText = "AT AT"; String replaced = replaceText.replace(' ', '-'); // replaced will be "AT-AT", but replaceText will NOT change 

El método replace devuelve una cadena, por lo que es necesario volver a asignar la variable de cadena, es decir

 String replaceText = "AT AT"; replaceText = replaceText.replace(' ', '-'); 

Las cadenas son inmutables. Debe utilizar el valor devuelto de reemplazar:

 replaceText = replaceText.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; } 

Si está reemplazando muchas cadenas que desea considerar utilizar StringBuilder para el rendimiento.

 String replaceText = "AT AT"; StringBuilder sb = new StringBuilder(replaceText); sb.Replace(' ', '-'); 
  • Android ScrollView no se inicia en la parte superior, pero al principio del GridView
  • Adición de vistas en un orden específico y almacenamiento de dicho pedido
  • Android: Obtener el día de la semana a partir de la fecha?
  • Constructor público para clase anidada
  • NPE: CursorTreeAdapter $ MyCursorHelper.changeCursor (Cursor, boolean) 'en una referencia de objeto nulo
  • Cómo configurar el texto del botón de imagen (Android)?
  • Android REST POST pierde valor de fecha
  • Volley - No se puede resolver el constructor "JSONObjectRequest
  • Android Editar canales de mapa de bits
  • ¿Por qué RecyclerView onBindViewHolder se llama una sola vez?
  • Encriptación de Blowfish en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.