title: Efficiently removing specific characters (some punctuation) from Strings in Java?
body: <p>In Java, what is the most efficient way of removing given characters from a String? Currently, I have this code:</p>
  
  <pre><code>private static String processWord(String x) {
      String tmp;
  
      tmp = x.toLowerCase();
      tmp = tmp.replace(",", "");
      tmp = tmp.replace(".", "");
      tmp = tmp.replace(";", "");
      tmp = tmp.replace("!", "");
      tmp = tmp.replace("?", "");
      tmp = tmp.replace("(", "");
      tmp = tmp.replace(")", "");
      tmp = tmp.replace("{", "");
      tmp = tmp.replace("}", "");
      tmp = tmp.replace("[", "");
      tmp = tmp.replace("]", "");
      tmp = tmp.replace("&lt;", "");
      tmp = tmp.replace("&gt;", "");
      tmp = tmp.replace("%", "");
  
      return tmp;
  }
  </code></pre>
  
  <p>Would it be faster if I used some sort of StringBuilder, or a regex, or maybe something else? Yes, I know: profile it and see, but I hope someone can provide an answer of the top of their head, as this is a common task.</p>