使用JavaScript替换字符串中未知的特殊字符

时间:2019-01-08 08:35:58

标签: javascript node.js regex string

我有一个带有特殊字符的字符串,称为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将破折号显示为带问号的黑色菱形,有时却显示为逗号?

1 个答案:

答案 0 :(得分:0)

只需跳过仅将Unicode传递给regex参数(在//之间)的引号,然后使用g标志:

console.log('SampleTestcase———————Temp'.replace(/\u2014/g, '-'));