Manipulate strings

You are parsing a large piece of text to replace values based on some complex algorithm. Which class should you use?

StringBuilder
StringWriter
String
StringReader