This question already has answers here:
Replace method doesn't work
(4个答案)
2年前关闭。
我试图用双破折号替换字符串中的单破折号'-'字符。
这是我正在使用的代码,但似乎无法正常工作:
注意在问题中显示的字符串,在复制时,我意识到它是different character,但看起来类似于
(4个答案)
2年前关闭。
我试图用双破折号替换字符串中的单破折号'-'字符。
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,'--')
最佳答案
在JavaScript中,字符串是不可变的。因此,当您修改字符串时,将通过修改创建一个新的字符串对象。
在您的情况下,replace
替换了字符,但返回了新字符串。您需要将其存储在变量中以使用它。
例如,
var temp = '2015–09–01T16:00:00.000Z';
temp = temp.replace(/–/g,'--');
注意在问题中显示的字符串,在复制时,我意识到它是different character,但看起来类似于
–
,并且与连字符(-
)不同。这些字符的字符代码如下console.log('–'.charCodeAt(0));
// 8211: en dash
console.log('-'.charCodeAt(0));
// 45: hyphen
09-25 16:27