title: Java Regex String#replaceAll Alternative
body: <p>I've been trying to devise a method of replacing multiple String#replaceAll calls with a Pattern/Matcher instance in the hopes that it would be faster than my current method of replacing text in a String, but I'm not sure how to go about it.</p>
  
  <p>Here is an example of a String that I want to manipulate:</p>
  
  <pre><code>@bla@This is a @red@line @bla@of text.
  </code></pre>
  
  <p>As you can see, there are multiple @ characters with 3 characters in between; this will always be the case.  If I wanted to replace every instance of '@xxx@' (where xxx can be any lowercase letter or digit from 0 to 9), what would the most efficient way to go about it be?  Currently I'm storing a Map where its keys are '@xxx@' substrings, and the values are what I want to replace that specific substring with; I check if the whole String contains the '@xxx@' substring, and call a replaceAll method for each instance, but I imagine this is pretty inefficient.</p>
  
  <p>Thank you very much!</p>
  
  <p>TL;DR - Would a Pattern/Matcher to replace a substring of a String with a different String be more efficient than checking if the String contains the substring and using String#replaceAll?  If so, how would I go about it?</p>