<p>If you have to use String.Replace() to replace test 50 times, you essentially have to create a new string 50 times.  Does StringBuilder.Replace() do this more efficiently?  E.g., should I use a StringBuilder if I'm going to be replacing a lot of text, even while I won't be appending any data to it?</p>

<p>I'm using .NET, but I assume this would be the same as Java and possibly other languages.</p>

Yes, it is.
```
String.Replace
```
always creates a new string –
```
StringBuilder.Replace
```
doesn't.