javascript - 无法用反斜杠替换正斜杠,反之亦然

标签 javascript regex

Javascript:

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

Result: som//\\kdshn\jasdj\akdjsl\kasasd.

结果中反斜杠被转义了。如何处理?

最佳答案

您使用“//”将斜杠加倍。

如果将单个反斜杠与正斜杠交换,则 "/" 即可。

使用

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);

关于javascript - 无法用反斜杠替换正斜杠,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53393082/

相关文章:

javascript - Angular.js 基础模式问题

regex - 如何获取两个字符之间的数字?

javascript - git commit (SHA1) 的正则表达式是否位于 Markdown 链接内

php - 数千个数字的正则表达式

javascript - 在cshtml中编码特殊字符

php - 如何禁用 php 或 javascript 中的文本框回发

javascript - HTML5 使用 Javascript 填充文本标签的有效方法?

javascript - 绘制函数导致闪烁 - Javascript

regex - 根据正则表达式对文件行进行排序

javascript - 使用 JavaScript RegExp 来验证电子邮件。正则表达式特殊字符不起作用