The documentation page of String.replace() replace() - Arduino Reference states that the return value of replace() is a new String with replaced characters, but the replace method actually returns void and changes the String in place as shown in the example http://arduino.cc/en/Tutorial/StringReplace.
Does anyone (dis)agree with me?
You are correct. Arduino/WString.h at ide-1.5.x · arduino/Arduino · GitHub
In the goal of keeping the library as flexible as possible it should also return a reference to itself allowing method chaining or use as a function parameter.