我试图检查路径是否有两个以上,并用两个路径替换它们。
例如,如果我看到的路径如下:
C:\\documents\\\\temporary
将\\\\
替换为\\
,结果如下:
C:\\documents\\temporary
目前我在C#中使用的(不起作用)是:
strVersion = Regex.Replace(strVersion, @"\\\\{4}", "\\\\");
编辑:现在修复了我使用Daniel Gimenez的解决方案。
答案 0 :(得分:4)
使用正则表达式\\{2,}
替换2个或更多斜杠的实例。 {n,}
表示模式可以从n
到无穷大发生任意次。
strVersion = Regex.Replace(strVersion, @"\\{2,}", "\\");
现在我不确定你是想要一个斜杠还是两个斜杠。如果你想要两个回来改变它:
strVersion = Regex.Replace(strVersion, @"\\{2,}", @"\\");
答案 1 :(得分:0)
丹尼尔的回答是正确的,但要补充一点:
如果你不期望转义字符串,那么用两个反转单个反斜杠实例也是有意义的。
strVersion = Regex.Replace(strVersion, @"\\+", @"\\");
答案 2 :(得分:-1)
在您的初始代码中,我的猜测是
strVersion = Regex.Replace(strVersion, @"\\{4}", "\\");
替换为'\'而不是“\\”。也许试试@“\\”或“\\\\”? (有点烦人的是,stackoverflow文本编辑器实际上像对待一个字符串一样处理\,所以在我的解决方案中,我实际上必须为第一个输出4个而第二个输入8个