title: string.replaceAll cutting characters 50% of the time
body: <p>I'm trying to use a series of string.replaceAlls to swap all the UTF-8 special characters in a text file with ASCII &amp; HTML encoding. Along the way I've hit a particularly stubborn one: \uAC8B, the UTF-8 middot.</p>
  
  <p>Here's the line that cuts out the character, half the time:</p>
  
  <pre><code>  string_out = string_out.replaceAll("¬ï", "&amp;amp;middot;");
  </code></pre>
  
  <p>("¬ï" is how a UTF-8 &middot; appears as extended ASCII. Before stumbling on this line, I'd tried "\uAC8B" and many other encodings without success.)</p>
  
  <p>The line cuts out the UTF-8 middot, it doesn't replace it, and it does that only half the time. The other half the time it misses the character, and leaves it unchanged. If I make multiple copies of it or move other lines around it, it doesn't even do that.</p>
  
  <p>This feels like a multithreading issue, but I'm not aware of any multithreading going on. Just a block of replaceAlls in a included .jsp file being run from another .jsp.</p>
  
  <p>What could cause this race-condition like behavior?</p>