views:

57

answers:

3

why this regex not work? i want to replace my string by all not default charaacters

legal are = a-Za-z0-9- rest should be replaced and return without the forbidden chars

  protected string FormatToInvalidChars(string InputString)
    {
        string RegexPattern = @"(^[A-Za-z0-9]*)$";

            string s = Regex.Replace(InputString.Trim(), RegexPattern, "$1");

            return s;

    }

thanks

+1  A: 
string s = Regex.Replace(InputString.Trim(),@"[^A-Za-z0-9]+","");
S.Mark
Thank you, seems to be logical. ... now:)
snarebold
+1  A: 

Your pattern makes no sense. You're matching only a single-character string that way.

What you want is probably to replace

[^A-Za-z0-9]

by an empty string.

Joey
+1  A: 

Try the following:

Regex.Replace(InputString.Trim(), @"[^A-Za-z0-9-]", "");

(assuming that the hyphen is also legal, as you say in the question)

Konamiman