gpt4 book ai didi

javascript - 正则表达式谜题 : How to replace dumb quotes with smart ones

转载 作者:行者123 更新时间:2023-12-01 03:58:56 27 4
gpt4 key购买 nike

愚蠢的引用是那些直接出现的引用。智能引号 curl 并且它们 curl 在正确的方向。我认为规则如下:

  • 如果引用位于单词开头,则会向右 curl 。
  • 如果引号位于单词开头,后面跟着另一个引号或分组符号({[ 向右 curl 。
  • 如果引用出现在其他地方,它会向左 curl 。

我需要一些脚本,它采用一个包含字符串的变量,并将所有直引号替换为正确的 curl 引号。

This拥有各种字符代码的相关资源。

var replacedText = text.replace(/"(?=[a-zA-Z])/gi,"\u201C");
var replacedText = replacedText.replace(/'(?=[a-zA-Z])/gi,"\u2018");

例如,上面的内容在语法方面是有效的,我想一系列结构良好的替换可以工作。但我正在努力让逻辑正确。因为我想替换单引号和双引号,并且我想智能地替换它们,以便它们以正确的方向“打开”和“关闭”。

最佳答案

也许这是一个起点?我在这里所做的基本上只是假设第一个引号之前有一个空格,或者如果引号位于字符串的开头,则为“引用”消息的开头。然后我继续移动,直到出现右引号。再说一次,这只是一个开始。不确定这是否符合您提到的所有这些内容:

var sample = 'One guy walks into a bar and says, "Dude, whaddup?".';

sample.replace(/(\s|^)\"([^\"]+)\"/g, "$1\u201C$2\u201D")
// should return: One guy walks into a bar and says, “Dude, whaddup?”.

var sample2 = '"E=mc2" is Eistein\'s signature';

sample2.replace(/(\s|^)\"([^\"]+)\"/g, "$1\u201C$2\u201D")
// should return: “E=mc2” is Eistein's signature.

我想,为了学习,我会更详细地解释这一点......

(\s|^)\" 捕获任何空格或字符串开头,然后捕获引号

([^\"])+ 捕获任何不是引号的字符(假设字符串中引号之间的所有字符。

\" 是结束引号

然后我用捕获的中间字符串放置了智能引号,瞧!希望有帮助!

关于javascript - 正则表达式谜题 : How to replace dumb quotes with smart ones,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42354312/

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