>我有一个字符串,它有一个特殊字符—
这被称为em-dash。我想在Windows和Linux中使用javascript从我的字符串中替换这个字符。
它在Windows中运行良好,我使用了这个
mystring.replace(/—/, "-");
有效,但在 Linux 中,em-dash —
字符显示为带有问号的黑色菱形
如何匹配此字符并替换某些字符?
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 将 em-dash 显示为带有问号的黑色菱形,有时它显示为逗号?
只需跳过仅将 Unicode 传递给正则表达式参数的引号(在 //
之间),并使用g
标志:
console.log('SampleTestcase———————Temp'.replace(/u2014/g, '-'));