title: Replace all special character except one
body: <pre><code>string = str.replaceAll("\\W", " ")
  </code></pre>
  
  <p>This replace all special character by " " (space).</p>
  
  <p>But I try to exclude dash "-" as special character.</p>
  
  <p>This my try:</p>
  
  <pre><code>string = str.replaceAll("\\W[^-]", " ")
  </code></pre>
  
  <p>But this not that I expect.</p>
  
  <p><strong>Q</strong>: how do I make this work?</p>