Joh*_*nny 19 c# regex string replace backslash
看起来很简单吧?好吧,我不知道.
这是我正在尝试的代码:
input = Regex.Replace(input, "\\", "\\\\\\");
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个错误,
ArgumentException未处理 - 在模式结束时解析"\" - 非法\.
我该怎么做呢?
por*_*ges 24
第一个应该是"\\\\",而不是"\\".它的工作原理如下:
"\\".\字符串中的序列.使用正则表达式,使用"逐字字符串"要容易得多.在这种情况下,逐字字符串将是@"\\".使用逐字字符串时,您只需考虑转义正则表达式引擎,因为反斜杠是按字面处理的.第二个字符串也将是@"\\",因为它不会被正则表达式引擎解释.
如果要将一个反斜杠替换为两个,则通过使用@"..."字符串文字的格式(也称为逐字字符串),可以更清楚地消除正则表达式中的一级转义.然后更容易看到
string output = Regex.Replace(input, @"\\", @"\\");
Run Code Online (Sandbox Code Playgroud)
是从更换\到\\.
小智 6
我知道现在帮助您为时已晚,也许其他人会从中受益。无论如何这对我有用:
text = text.Replace(@"\",@"\\");
Run Code Online (Sandbox Code Playgroud)
我觉得它更简单。
干杯!
| 归档时间: |
|
| 查看次数: |
31994 次 |
| 最近记录: |