我有一些数字和英文单词的字符串,我需要将它们翻译成我的母语,方法是找到它们并用本地化版本替换它们。你知道如何轻松实现替换字符串中的单词吗?Android - 如何用另一个字符串替换部分字符串?
感谢
编辑:
我已经试过(字符串的一部分 “改为” 应以 “某某” 代替):
string.replace("to", "xyz")
但它不工作...
我有一些数字和英文单词的字符串,我需要将它们翻译成我的母语,方法是找到它们并用本地化版本替换它们。你知道如何轻松实现替换字符串中的单词吗?Android - 如何用另一个字符串替换部分字符串?
感谢
编辑:
我已经试过(字符串的一部分 “改为” 应以 “某某” 代替):
string.replace("to", "xyz")
但它不工作...
它正在工作,但它不会修改调用者对象,而是返回一个新的String。
因此,您只需将其分配到一个新的字符串变量,或者本身:
string = string.replace("to", "xyz");
或
String newString = string.replace("to", "xyz");
API文档
public String replace (CharSequence target, CharSequence replacement)
自:API级别1
将此字符串替换为 将指定的目标 序列与另一个序列进行替换。 字符串从 开始处理到最后。
参数
target
更换序列。replacement
替换 序列。返回结果字符串。
如果目标或替换为空,则抛出NullPointerException
。
你只犯了一个错误。
在那里使用replaceAll()
函数。
例如
String str = "Hi";
String str1 = "hello";
str.replaceAll(str, str1);
- 'replaceAll()'函数不会改变原始字符串,它会返回处理后的字符串! – rekaszeru 2011-09-27 08:43:58
String str = "to";
str.replace("to", "xyz");
试试吧:)
可吸引您:
在java中,字符串对象是不可改变的。不可变只是意味着不可修改或不可改变。
创建字符串对象后,其数据或状态不能更改,但会创建新的字符串对象。
rekaszeru
我注意到,你在2011年的评论,但我想我应该反正张贴此答案,万一有人需要“代替原来的字符串”,并运行到这个答案..
林使用的EditText作为例子
// GIVE TARGET的名称文本框中
EditText textbox = (EditText) findViewById(R.id.your_textboxID);
//替换字符串
String oldText = "hello"
String newText = "Hi";
String textBoxText = textbox.getText().toString();
//替换字符串与所返回的STRINGS
String returnedString = textBoxText.replace(oldText, newText);
//使用返回的字符串等的更换新的字符串INSIDE TEXTBOX
textbox.setText(returnedString);
这是未经测试,但它只是一个使用返回的字符串替换原始布局字符串与setText()的例子!
显然这个示例要求您有设置为your_textboxID
感谢ID的EditText上,这就是我一直在寻找 – Waypoint 2011-04-22 10:22:58
@rekaszeru谢谢... 你的回答是非常有益的。 – 2011-10-14 12:20:50
我怎样才能把multipel的东西?例如'替换字母h或l'? – 2016-02-11 03:26:26