gpt4 book ai didi

javascript - 用 JavaScript 正则表达式替换 iOS 11 智能标点符号

转载 作者:行者123 更新时间:2023-12-03 02:18:20 38 4
gpt4 key购买 nike

So I found this question ,它为 iOS 的智能标点符号问题提供了一些深入的见解,但我想进行批量替换,即在完整的字符串上,而不是在用户输入输入时进行替换。

我环顾四周,似乎 ES6 通过使用 \u<<code point>> 支持 unicode 字符。 。这可以与正则表达式匹配吗?

我有这个字符串:

"This is a message from iOS with it’s so-called “smart” punctuation.

我一直在尝试用这个进行测试替换:

x.replace(/\u8220/g, 'XXXX');

我可以验证代码点是否在字符串中(通过开发工具 JS 控制台):

> x.charCodeAt(47);
8220

但是我调用替换的输出是相同的字符串,没有变化。我还尝试将 unicode 部分包装在 [] 中但没有运气。我是愚蠢的还是这只是不以这种方式支持?

最佳答案

8220 是左双引号的十进制值。要使用 \uXXXX,您需要指定代码点的 十六进制 值,在本例中为 \u201C

这是一个表达式,它将用“直”引号替换字符串中的所有“弯”引号:

s.replace(/[\u2018\u2019\u201C\u201D]/g, (c) => '\'\'""'.substr('\u2018\u2019\u201C\u201D'.indexOf(c), 1));

关于javascript - 用 JavaScript 正则表达式替换 iOS 11 智能标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49269102/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com