这些替换函数:
text = text.replace(/\b'|(\.|\,|\?|\!|\*|---|\.\.\.\s)'/g, '$1’')
text = text.replace(/'\b/g, '‘')
可以转单引号:
'cause 'til it's 'very very' 'broken.'
变成大写单引号:
‘cause ‘til it’s ‘very very’ ‘broken.’
但我认为您已经检测到问题 cause
和 til
应该有一个右弯引号,而不是左弯引号。
如何修改我的正则表达式以实现这种情况?
最佳答案
对于您的第一个文本。替换:
text = text.replace(/\b(')|\.(')|(')(?=\w+\s)/g, '$1'')
这里的关键是前瞻选项 (')(?=\w\s) 换句话说,给我一个直引号,后面跟着一串字符,然后是一个空格字符,但忽略后面的所有内容'
关于javascript - 正则表达式将 'cause and ' til 等单词中包含的直引号转换为弯引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52713334/