我正在尝试使用正则表达式匹配引号,但我无法在@string
中逃脱它们 - 我收到错误:
output = Regex.Replace(str, @"[\d-']", string.Empty); // valid
output = Regex.Replace(str, @"[\d-'\"]", string.Empty); // not valid!
这个也行不通:
string str = "[\d-'\"]" // bad compile constant value!
答案 0 :(得分:6)
要转义逐字字符串中的mapItemList
,请使用"
:
""
答案 1 :(得分:1)
@
令牌会阻止\
转义。如果您移除@
令牌,它将按预期工作,但您必须转义第一个反斜杠,即"[\\d-'\"]"
答案 2 :(得分:0)
我刚试过这段代码
output = Regex.Replace("Ciao'\"", @"[\d-'""]", string.Empty);
Console.Writeln(output);
这就产生了#C;" Ciao"在控制台屏幕上。所以,正如DLeh所说,你应该使用""
来逃避引用。