首页 > 解决方案 > 无法用反斜杠替换正斜杠,反之亦然

问题描述

Javascript:

var str = 'som\\//kdshn/jasdj/\akdjsl/kas\asd';
var newstr = str.replace(/(\\|\/)/g,function(a, m) { return m == "/" ? "\\" : "//"; });

结果:som//\\kdshn\jasdj\akdjsl\kasasd

结果反斜杠被转义了。怎么处理?

标签: javascriptregex

解决方案


您通过使用将斜线加倍"//"

如果你用一个正斜杠交换一个反斜杠,"/"就可以了。

利用

var newstr = str.replace(/[\\\/]/g,function(a) { return a == "/" ? "\\" : "/"; });

它产生som/\\kdshn\jasdj\akdjsl\kasasd.

var str = 'som\\//kdshn/jasdj/\akdjsl/kas\asd';
var newstr = str.replace(/[\\\/]/g,function(a) { return a == "/" ? "\\" : "/"; });
console.log(newstr);


推荐阅读