<p>I need to search a string and replace all occurrences of <code>%FirstName%</code> and <code>%PolicyAmount%</code> with a value pulled from a database. The problem is the capitalization of FirstName varies. That prevents me from using the <code>String.Replace()</code> method. I've seen web pages on the subject that suggest</p>

<pre><code>Regex.Replace(strInput, strToken, strReplaceWith, RegexOptions.IgnoreCase);
</code></pre>

<p>However for some reason when I try and replace <code>%PolicyAmount%</code> with <code>$0</code>, the replacement never takes place. I assume that it has something to do with the dollar sign being a reserved character in regex. </p>

<p>Is there another method I can use that doesn't involve sanitizing the input to deal with regex special characters?</p>

```
```
Regex.Replace(strInput, strToken.Replace("$", "[$]"), strReplaceWith, RegexOptions.IgnoreCase);
```
```