这些替换功能:
text = text.replace(/\b'|(\.|\,|\?|\!|\*|---|\.\.\.\s)'/g, '$1’')
text = text.replace(/'\b/g, '‘')
可以转单引号:
“因为”直到“非常”“破裂”。
插入大括号单引号:
“因为”直到“非常”“破碎”。
但是我认为您已经检测到问题cause
,而til
应该使用右弯引号,而不是左弯引号。
这种情况下如何修改我的正则表达式?
答案 0 :(得分:2)
第一个文本。替换:
text = text.replace(/\b(')|\.(')|(')(?=\w+\s)/g, '$1’')
这里的关键是先行选项(')(?= \ w \ s),换句话说,给我一个直引号,后跟一个字符串和一个空格字符,但是忽略后面的所有内容'
答案 1 :(得分:1)
您可以尝试使用此正则表达式吗,也许会对您有所帮助。
“”'因为它'非常非常'破了'。”。replace(/(\ s | ^)(\')(\ b)/ g,'$ 1'$ 3')。replace(/([ b] *)(\')/ g,'$ 1'')
输出-
“因为它”非常非常“破损”。
对于左引号,请尝试使用此正则表达式-
.replace(/(\ s)(\')(\ b)/ g,'$ 1'$ 3')。replace(/([\ b] *)(\')/ g,'$ 1'' )