Android的 – 如何用另一个stringreplace部分string?

我有一些数字和英文string,我需要翻译他们到我的母语find他们,并用本地化版本取代他们。 你知道如何轻松实现replacestring中的单词吗?

谢谢

编辑:

我试过了(string“to”的一部分应该换成“xyz”):

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

但它不工作…

它正在工作,但它不会修改调用者对象,但返回一个新的string。
所以你只需要把它分配给一个新的Stringvariables或者它自己:

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

要么

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

API文档

 public String replace (CharSequence target, CharSequence replacement) 

因为:API级别1

将该string复制到另一个序列中,以replace指定目标序列的出现。 该string从头到尾被处理。

参数

  • 指定要replace的序列。
  • replacement更换顺序。

返回结果string。
如果目标或replace为null,则引发 NullPointerException

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

去尝试一下 :)

可能有利于你:

在java中,string对象是不可变的。 不可变简单地意味着不可修改或不可改变。

一旦创build了string对象,其数据或状态就不能改变,但是会创build一个新的string对象。

你只犯了一个错误。

在那里使用replaceAll()函数。

例如

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

rekaszeru

我注意到你在2011年评论,但我想我应该张贴这个答案无论如何,以防万一有人需要“取代原来的string”,并运行到这个答案..

我使用EditText作为例子


//给目标文本框一个名字

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

/ /要更换

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

//用返回的stringreplacestring

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

//使用已返回的stringreplaceTEXTBOX中的新string

 textbox.setText(returnedString); 

这是未经testing的,但它只是使用返回的string来replacesetText()的原始布局string的一个例子!

显然这个例子要求你有一个EditText,ID设置为your_textboxID