I want to make sure a string has only characters in this range
[a-z] && [A-Z] && [0-9] && [-]
so all letters and numbers plus the hyphen.
I tried this…
C# App:
char[] filteredChars = { ',', '!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '=', '{', '}', '[', ']', ':', ';', '"', '\'', '?', '/', '.', '<', '>', '\\', '|' };
string s = str.TrimStart(filteredChars);
This TrimStart() only seems to work with letters no otehr characters like $ % etc
Did I implement it wrong?
Is there a better way to do it?
I just want to avoid looping through each string’s index checking because there will be a lot of strings to do…
Thoughts?
Thanks!
This seems like a perfectly valid reason to use a regular expression.
In response to miguel’s comment, you could do this to remove all unwanted characters:
Note that the caret (
^) is now placed inside the character class, thus negating it (matching any non-allowed character).