我有一个带有特殊字符—
的字符串,称为em-dash。在Windows和Linux中,我都希望使用javascript从字符串中替换此字符。
在Windows中效果很好,我使用了它
mystring.replace(/—/, "-");
有效,但是在Linux中,字符—
破折号显示为带问号的黑色菱形。
如何匹配此字符并将其替换为某个字符?
\u2014
=破折号unicode
let string = 'SampleTestcase—Temp';
if (string.match("\u2014")) {
console.log("YES ITS MATCHED and its Em-dash");
string = string.replace("\u2014", "-");
}
console.log(string);
我的预期输出为SampleTestcase-Temp
;
此外,为什么Linux将破折号显示为带问号的黑色菱形,有时却显示为逗号?
答案 0 :(得分:0)
只需跳过仅将Unicode传递给regex参数(在//
之间)的引号,然后使用g
标志:
console.log('SampleTestcase———————Temp'.replace(/\u2014/g, '-'));