title: Java String Filter out unwanted characters
body: <p>I have string like this:</p>
  
  <pre><code>−+-~*/@$^#¨%={}[häagen-dazs;:] a (le &amp; co') jsou "výborné" &lt;značky&gt;?!.
  </code></pre>
  
  <p>And I want to end up with this:</p>
  
  <pre><code>häagen-dazs a le &amp; co jsou výborné značky.
  </code></pre>
  
  <p>In comparison to <a href="https://stackoverflow.com/questions/4945695/how-to-filter-string-for-unwanted-characters-using-regex">How to filter string for unwanted characters using regex?</a> I want to keep accent (diacritics) in the string.</p>
  
  <p>I use following replaceAll:</p>
  
  <pre><code>str.replaceAll("[¨%=;\\:\\(\\)\\$\\[\\]\\{\\}\\&lt;\\&gt;\\+\\*\\−\\@\\#\\~\\?\\!\\^\\'\\\"\\|\\/]", "");
  </code></pre>
  
  <ul>
  <li>Is this correct approach? </li>
  <li>Is there a more simple way how to keep only alphanumeric characters (as well as with accent), spaces, and &amp; . - symbols?</li>
  </ul>