Android: ¿cómo reemplazar parte de una cadena por otra cuerda?

Tengo algunos números y palabras en inglés y necesito traducirlos a mi lengua materna encontrándolos y reemplazándolos por una versión localizada de esta palabra. ¿Sabes cómo lograr fácilmente reemplazar palabras en una cadena?

Gracias

Editar:

Lo he intentado (parte de una cadena “a” debe ser reemplazada por “xyz”):

string.replace("to", "xyz") 

Pero no está funcionando…

Está funcionando, pero no modificará el objeto llamante, sino que devolverá un nuevo String.
Entonces solo debe asignarlo a una nueva variable String, o a sí mismo:

 string = string.replace("to", "xyz"); 

o

 String newString = string.replace("to", "xyz"); 

API Docs

 public String replace (CharSequence target, CharSequence replacement) 

Desde: Nivel de API 1

Copia esta cadena reemplazando las ocurrencias de la secuencia objective especificada con otra secuencia. La cadena se procesa desde el principio hasta el final.

Parámetros

  • target la secuencia para reemplazar.
  • replacement la secuencia de reemplazo.

Devuelve la cadena resultante.
Lanza NullPointerException si el objective o el reemplazo son nulos.

 String str = "to"; str.replace("to", "xyz"); 

Solo inténtalo 🙂

PUEDE SER INTERESANTE PARA USTED:

En Java, los objetos de cadena son inmutables. Inmutable simplemente significa inmodificable o inmutable.

Una vez que se crea el objeto de cadena, sus datos o estado no se pueden cambiar, pero se crea un nuevo objeto de cadena.

Estás haciendo un solo error.

use la función replaceAll() allí.

p.ej

 String str = "Hi"; String str1 = "hello"; str.replaceAll( str, str1 ); 

rekaszeru

Noté que comentaste en 2011 pero pensé que debería publicar esta respuesta de todos modos, en caso de que alguien necesite “reemplazar la cadena original” y se encuentre con esta respuesta …

Estoy usando un EditText como ejemplo


// DAR TARGET TEXT BOX A NAME

  EditText textbox = (EditText) findViewById(R.id.your_textboxID); 

// STRING PARA REEMPLAZAR

  String oldText = "hello" String newText = "Hi"; String textBoxText = textbox.getText().toString(); 

// REEMPLAZAR CUERDAS CON CUERDAS DEVUELTAS

 String returnedString = textBoxText.replace( oldText, newText ); 

// USE CADENAS DEVUELTAS PARA SUSTITUIR NUEVA CADENA DENTRO DE TEXTBOX

 textbox.setText(returnedString); 

Esto no se ha probado, pero es solo un ejemplo del uso de la cadena devuelta para reemplazar la cadena de diseños original con setText ()!

Obviamente, este ejemplo requiere que tengas un EditText con el ID configurado en your_textboxID