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.
- Reemplazar e incrementar el número en el nombre de archivo en una aplicación de Android
- ¿Cuál es la mejor manera de mantener el adaptador como una clase interna de actividad o fuera?
- C ++ vs Java en Android
- ¿Cómo conectar automáticamente un WiFi con SSID especificado?
- Extendiéndose de dos clases
++++++ 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(' ', '-');
- ¿Cuál es el uso de allowCoreThreadTimeout () en ThreadPoolExecutor?
- ¿Dónde se escribe la salida de registro cuando se utiliza Roboelectric + Roboguice?
- Editext campo al utilizar la entrada de contraseña no ocultar contraseña
- No se puede conectar al servidor Openfire (mediante smack api)
- Error al abrir la base de datos / Error al cambiar la configuración regional de (base de datos) a 'en_US'
- Java.lang.SecurityException: inválido nombre del paquete: com.google.android.gms
- Android AndEngine: java.lang.IllegalArgumentException: No se encontró EGLConfig
- Hace TimerTask ejecutando en nuevo hilo
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: ¿Cómo puedo actualizar mi textView en un fragmento
- "Java.lang.IllegalArgumentException: No configs config configSpec" Al abrir la intención de la cámara