在做UrlReWrite的时候,写了个配置文件,每一行类似这样:
 <location name="xxxx"  Regex="(?&lt;Group1&gt;[\w]+?).xxxxx.com/[^\\]*" RewritePath="xxxxxxxxxxxx" />
然后我用一个类来存储一行的数据,当读取Regex属性到这个类的相应字段(String类型)的时候,Regex的属性值中的\全部被替换成了\\    (?&lt;Group1&gt;[\w]+?).xxxxx.com/[^\\]*   ----------->>>>>>>>>>       
(?&lt;Group1&gt;[\\w]+?).xxxxx.com/[^\\\\]*如果是后面的\\\\,我还可以用Replace("\\\\","\\")来搞定,但是前面\\w 的两个斜杠怎么搞定?请大家帮帮忙,万分感谢.

解决方案 »

  1.   

    直接  Replace("\\","\")
    不要Replace("\\\\","\\") 
      

  2.   

    string str="sahoie\\ew\\\ew\t\\\\wet";
    str=str.Replace("\\","\");
      

  3.   


    string str=@"sahoie\\ew\\\ew\t\\\\wet";
    str=str.Replace(@"\\",@"\");
      

  4.   

    你试试把  Replace("\\","\")   输入到代码编辑器里试试第二个参数 "\",把最后一个" 转义了.
      

  5.   


    但是以读取到的模式来初始化Regex对象,运行有个异常,提示正在分析“http://(?<Group1>[\w]+?).xxxxxxxxxxx/[^\]*”- 未终止的 [] 集。 
      

  6.   


    你的代码我在一个测试工程里测试过了.是正常的.但是放到我的代码里,还是有问题:
    这是在调试时在即时窗口里的输出:
    Regex.Value
    "http://(?<user>[\\w]+?).xxxxxxxxxxxxxxx/[^\\\\]*"
    Regex.Value.Replace(@"\\",@"\")
    "http://(?<user>[\\w]+?).xxxxxxxxxxxxxxx/[^\\]*"不知道怎么回事.
      

  7.   

    哦. 是我大意了,最开始可能是xml文件里有个字符导致的错误,最后改来改去,以为是那个\\的问题.  不好意思,是我搞错了. 
    马上结贴.