2017-11-27 7 views
1

改行を除くすべての特殊文字を削除する必要があります。誰もこの仕事を達成するRegExを知っていますか?ここに私の正規表現は次のとおりです。C#RegEx改行を維持する

 string b = "ABC\r\nVVV"; 
     string a = Regex.Replace(b, "[^\\x20-\\x7E]", ""); 
+2

ネゲートされた文字クラスにそれらを追加するだけです。["\\ x20 - \\ x7E \ r \ n] +" ' –

答えて

2

あなたは"[^\\x20-\\x7E]"とチルダする空間から文字以外の任意の文字に一致します。したがって、それはCRとLFのシンボルに一致します。これらの文字にマッチするのを避けるために、文字クラスに追加し、それが一度に全体の配列を除去するために1回以上の繰り返しに一致するように]+を追加することが最良である:

string a = Regex.Replace(b, "[^\\x20-\\x7E\r\n]+", ""); 

regex demo at RegexStormを参照してください。

関連する問題