I want to replace, say String oldString
with String newString
in an Array along the lines of:
f
You don't need to use replace()
in this case, since you are already checking that text[i]
is equal to oldString
, which means you are replacing the entire String
, which means assignment is sufficient:
for (int i = 0; i < text.length; i++) {
if (text[i].equals(oldString)) {
text[i] = newString;
}
}
If, on the other hand, you wanted to replace a sub-string of text[i]
which is equal to oldString
to newString
, you could write:
for (int i = 0; i < text.length; i++) {
text[i] = text[i].replace(oldString,newString);
}
You can use IntStream over the indices of this array and process certain strings in a certain way:
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]
See also: Replace certain string in array of strings