【问题标题】:Replace Special Characters替换特殊字符
【发布时间】:2011-12-28 16:45:03
【问题描述】:

我想将路径中的转义字符(\)替换为js中的单个\

\\cpmp1\D$\\ABC\\XYZ

我试过了

console.log(s.replace(/.\\\\/g, '\\'));

但它没有做任何替换?有什么想法吗?

【问题讨论】:

    标签: javascript jquery asp.net


    【解决方案1】:
    var replacedStr = s.replace(/\\+/g, '\\');
    

    【讨论】:

    • 这个脚本会用 \ 替换所有出现的 \\ 吗?
    • 这将用一个反斜杠替换后跟一个“+”字符的单个反斜杠。
    • '\\cpmp1\D$\\ABC\\XYZ'.replace(/\\+/g, '\\') ---> "\cpmp1D$\ABC\XYZ"
    • @Pointy oopsss... 已修复 :)
    • 它也比s.replace(/\\\\/g, '\\')更有效
    【解决方案2】:

    你不需要“.”,否则就可以了。

    console.log(s.replace(/\\\\/g, '\\'));
    

    如果它似乎做错了什么,那么我建议你的测试方法可能有问题。

    edit — 请注意,要使用建议的原始字符串对此进行测试,有必要将反斜杠加倍:

    var s = "\\\\cpmp1\\D$\\\\ABC\\\\XYZ";
    

    【讨论】: