我有一些数字和英文单词的字符串,我需要将它们翻译成我的母语,找到它们并用这个单词的locallized版本替换它们。你知道如何轻松地替换字符串中的单词吗?
由于
编辑:
我试过(字符串“to”的一部分应该用“xyz”代替):
string.replace("to", "xyz")
但它不起作用......
答案 0 :(得分:175)
它正在工作,但它不会修改调用者对象,而是返回一个新的字符串 所以你只需要将它分配给一个新的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
。
答案 1 :(得分:2)
可能对你有兴趣:
在java中,字符串对象是不可变的。不可改变只是意味着不可修改或不可改变。
创建字符串对象后,无法更改其数据或状态,但会创建新的字符串对象。
答案 2 :(得分:1)
String str = "to";
str.replace("to", "xyz");
试一试:)
答案 3 :(得分:0)
在Kotlin中没有replaceAll,所以我创建了这个循环来替换字符串或任何变量中的重复值。
var someValue = "https://www.google.com.br/"
while (someValue.contains(".")) {
someValue = someValue.replace(".", "")
}
Log.d("newValue :", someValue)
// in that case the stitches have been removed
//https://wwwgooglecombr/
答案 4 :(得分:-2)
你只犯了一个错误。
在那边使用replaceAll()
功能。
e.g。
String str = "Hi";
String str1 = "hello";
str.replaceAll( str, str1 );