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

标签 javascript node.js regex string

<分区>

我有一个字符串,它有一个特殊字符 ,这叫做 em-dash。我想在 Windows 和 Linux 中使用 javascript 替换我的字符串中的这个字符。

它在 Windows 中运行良好,我用过它

mystring.replace(/—/, "-");

有效,但在 Linux 中,字符 em-dash 显示为带有问号的黑色菱形 �

如何匹配此字符并替换为某些内容?

\u2014 = em-dash 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, '-'));

关于javascript - 使用 JavaScript 替换字符串中的未知特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54087970/

相关文章:

node.js - 如何递归地遍历目录,通过 node.js 中的套接字发送所有文件名?

javascript - 从多个数组中获取具有非重复值的数组

javascript - 如何在 CodeIgniter 中全局包含 jQuery 文件?

javascript - Collection.find() 仅适用于某些集合

java - 用于提取命令行参数的 RegEx - Java

javascript正则表达式允许数字和特定特殊字符

regex - 这个 perl 脚本片段在做什么?

javascript - 如何在 Angular 中实现打印功能?

javascript - Foundation 5.1 Off-canvas 不适用于 iOS Safari(模拟器)

node.js - Metalsmith 静态站点页面缺少元数据