在C#中使用Regex验证字符串无法验证反斜杠或双引号

时间:2013-08-30 11:00:08

标签: c# regex

我正在使用[^0-9a-zA-Z]+正则表达式将特殊字符移除到字符串中。

但是当我的字符串包含"\时,我遇到了问题,这个正则表达式无法验证字符串。

我的C#代码是(将所有特殊字符转换为-) -

Regex.Replace("MyString", @"[^0-9a-zA-Z]+", "-");

但是当我传递包含"\的字符串时,此代码会给出

表示" - 常量

中的换行符

表示\ - 无法识别的转义序列

任何人都可以帮我恢复这个问题吗?

谢谢

1 个答案:

答案 0 :(得分:2)

您需要在C#中的字符串中转义"\

Regex.Replace("Slash: \\   Quote: \"  ", @"[^0-9a-zA-Z]+", "-");

详细了解escaping characters