title: Remove all "invisible" chars from a string?
body: <p>I'm writing a little class to read a list of key value pairs from a file and write to a <code>Dictionary&lt;string, string&gt;</code>. This file will have this format:</p>
  
  <pre><code>key1:value1
  key2:value2
  key3:value3
  ...
  </code></pre>
  
  <p>This should be pretty easy to do, but since a user is going to edit this file manually, how should I deal with whitespaces, tabs, extra line jumps and stuff like that? I can probably use Replace to remove whitespaces and tabs, but, is there any other "invisible" characters I'm missing? </p>
  
  <p>Or maybe I can remove all characters that are not alphanumeric, ":" and line jumps (since line jumps are what separate one pair from another), and then remove all extra line jumps. If this, I don't know how to remove "all-except-some" characters. </p>
  
  <p>Of course I can also check for errors like "key1:value1:somethingelse". But stuff like that doesn't really matter much because it's obviously the user's fault and I would just show a "Invalid format" message. I just want to deal with the basic stuff and then put all that in a try/catch block just in case anything else goes wrong.</p>
  
  <p><strong>Note:</strong> I do NOT need any whitespaces at all, even inside a key or a value.</p>