正则表达式将诸如"原因"和"直到"之类的单词中包含的直引号转换为卷曲引号



这些替换函数:

text = text.replace(/b'|(.|,|?|!|*|---|...s)'/g, '$1’')
text = text.replace(/'b/g, '‘')

可以转单引号:

"因为'直到它'非常''坏了'。

变成卷曲的单引号:

"因为'直到它'非常''坏了'。

但我认为你已经cause发现了问题,til应该有一个右卷曲引号,而不是左卷曲引号。

如何修改我的正则表达式,所以是这种情况?

对于您的第一个文本.替换:

text = text.replace(/b(')|.(')|(')(?=w+s)/g, '$1’')

这里的关键是前瞻选项 ('((?=\w\s( 换句话说,给我一个直引号,后跟一串字符,然后是一个空格字符,但忽略">

你能试试这个正则表达式吗,也许它会帮助你。

"因为它'非常''坏了'。replace(/(\s|^((\'((\b(/g, '$1'$3'(.replace(/([\b]*((\'(/g, '$1''(

输出-

"因为它'非常''坏了'。

对于初始左引号,请尝试此正则表达式 -

.replace(/(\s((\'((\b(/g, '$1'$3'(.replace(/([\b]*((\'(/g, '$1''(

最新更新