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
- PreferenceScreen中的TimePicker
- Android SDKpipe理器的GUI不见了?
- Android模拟器垃圾logcat与“服务com.android.exchange.ExchangeService已经泄露了ServiceConnection …这是最初绑定在这里
- ListView项滚动animation(“UIKit Dynamics”样)
- 将效果应用于相机捕获的video帧
- 我如何构build一个本机(命令行)可执行文件在Android上运行?
- 我们如何区分Android M的运行时权限从未停止询问?
- 在WebView中加载本地html?
- 在android中的sqlite示例程序