[英]Random character in RegEx replace
我想替换G $ 0字符串甘特(G $ 0,$ A4,$ B4)与甘特(<> G $ 0 <>,$ A4,$ B4)。 所以我有以下代码:
var str = '=gantt(G$0,$A4,$B4) ';
var val = "G$0";
var val2 = val.replace(/\$/, "\\$")
var reg = new RegExp(val2, 'g');
var str = str.replace(reg, '<>' + val + '<>');
IE中的结果是: = gantt(<> GG $ 0 <>,$ A4,$ B4) ( 请注意GG )。 该问题似乎是IE10特有的。
为什么会这样,这是IE错误吗?
替换应该假定一个字符串可以包含** G $ 0 **的多个实例 。
完全不需要使用RegEx。 坚持常规的字符串替换,您将不必转义val字符串。
var str = '=gantt(G$0,$A4,$B4) ';
var val = "G$0";
var result = str.replace(val, '<>' + val + '<>');
如果要替换val
多个实例,可以使用.split
和.join
来完成:
var str = '=gantt(G$0,$A4,$B4,G$0) ';
var val = "G$0";
var result = str.split(val).join('<>' + val + '<>');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.