2009-12-15 167 views
0

爲什麼這個正則表達式不起作用?我希望所有來代替我的字符串不是默認charaacters正則表達式拒絕非字母數字字符

法律是= A-ZA-z0-9-休息應及時更換,並沒有被禁止的字符

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

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

      return s; 

    } 

回答

1
string s = Regex.Replace(InputString.Trim(),@"[^A-Za-z0-9]+",""); 
+0

謝謝,似乎是合乎邏輯的。 ...現在:) – 2009-12-15 11:06:48

1

你的模式是沒有返回感。你只用這種方式匹配單個字符的字符串。

你想要的是可能是一個空字符串替換

[^A-Za-z0-9] 

1

嘗試以下操作:

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

(假設連字符也是合法的,因爲你的問題說的)

相關問題