I have a sentence that is passed in as a string and I am doing a replace on the word “and” and I want to replace it with ” “. And it’s not replacing the word “and” with white space. Below is an example of my logic. And when I debug this the logic does fall into the sentence.replace.
String sentence = "Define, Measure, Analyze, Design and Verify"
if (sentence.contains("and")){
sentence.replace("and", " ");
}
Is there something I am missing here.
Yes, and then you discard the return value.
Strings in Java are immutable – when you call
replace, it doesn’t change the contents of the existing string – it returns a new string with the modifications. So you want:This applies to all the methods in String (
substring,toLowerCaseetc). None of them change the contents of the string.Note that you don’t really need to do this in a condition – after all, if the sentence doesn’t contain
"and", it does no harm to perform the replacement: