我正在尝试将字符串中的单破折号“-”替换为双破折号。
2015–09–01T16:00:00.000Z
to be
2015-–09-–01T16:00:00.000Z
这是我正在使用的代码,但它似乎无法正常工作:
var temp = '2015–09–01T16:00:00.000Z'
temp.replace(/-/g,'--')
我正在尝试将字符串中的单破折号“-”替换为双破折号。
2015–09–01T16:00:00.000Z
to be
2015-–09-–01T16:00:00.000Z
这是我正在使用的代码,但它似乎无法正常工作:
var temp = '2015–09–01T16:00:00.000Z'
temp.replace(/-/g,'--')
var temp = '2015–09–01T16:00:00.000Z';
temp = temp.replace(/–/g,'--');
注意,您在问题中展示的字符串,当复制后,我意识到它是一个不同的字符,看起来类似于–
,但它与连字符(-
)不同。这些字符的字符编码如下:
console.log('–'.charCodeAt(0));
// 8211: en dash
console.log('-'.charCodeAt(0));
// 45: hyphen
–
与你在正则表达式中使用的连字符 -
是不同的。尽管它们看起来相似,但它们是不同的字符。temp.replace(/–/g,'--')
。可能最简单的方法就是使用split和join。
var temp = '2015–09–01T16:00:00.000Z'.split("-").join("--");