【问题标题】:How to replace a whole string with another in an array in Java如何用Java数组中的另一个字符串替换整个字符串
【发布时间】:2021-03-30 08:17:18
【问题描述】:
我想在数组中将字符串oldString 替换为字符串newString,如下所示:
for (int i = 0; i < text.length; i++) {
if (text[i].equals(oldString)) {
text[i] = text[i].replace(oldString, newString);
}
}
用 Java 怎么做?
【问题讨论】:
标签:
java
arrays
string
replace
【解决方案1】:
在这种情况下您不需要使用replace(),因为您已经在检查text[i] 是否等于oldString,这意味着您要替换整个String,这意味着分配就足够了:
for (int i = 0; i < text.length; i++) {
if (text[i].equals(oldString)) {
text[i] = newString;
}
}
另一方面,如果您想将等于oldString 的text[i] 的子字符串替换为newString,您可以这样写:
for (int i = 0; i < text.length; i++) {
text[i] = text[i].replace(oldString,newString);
}
【解决方案2】:
您可以在此数组的索引上使用IntStream,并以某种方式处理某些字符串:
String[] text = {"Lorem", "oldString", "dolor", "sit", "amet"};
IntStream.range(0, text.length)
// to filter the certain strings, or you
// can skip this line to process each string
.filter(i -> text[i].equals("oldString"))
// processing a string
.forEach(i -> text[i] = text[i].replace("oldString", "newString"));
System.out.println(Arrays.toString(text));
// [Lorem, newString, dolor, sit, amet]
另见:Replace certain string in array of strings