如何将英文的引号替换成中文的成对引号。
本帖最后由 wtujcf123 于 2023-5-19 19:04 编辑各位老师,我使用的是python语言,想请教如何将英文的引号替换成中文的成对引号。
例:
"测试""测试"
最终效果为:“测试”“测试”
我的想法是查找",第一位替换成“,第二位替换成”,依次循环。
在re.sub函数中,仅有替换次数,无法就查找位数进行精确替换。
谢谢各位老师 GPT给的答案,你可以试一下;www;www 稍等一下,我来问问GPT;www x446187 发表于 2023-3-27 21:39
稍等一下,我来问问GPT
这个厉害,我不太相信GPT的答案,静候!
稍等一下,我来问问GPT 本帖最后由 wtujcf123 于 2023-3-27 21:54 编辑
x446187 发表于 2023-3-27 21:47
GPT给的答案,你可以试一下
哈哈,不错哈。这是简单的正则替换哈。我之前一直陷入需要循环解决问题的境地。
因为,我那个函数里还有其它的非法符号需要替换。想一起利用循环解决。 我们将所有出现的英文引号字符 (') 替换为中文引号字符 (')。 要替换左引号和右引号,可以将 translate() 方法与maketrans一起使用。下面是一个示例:
import string
text = "This is a sentence with 'English quotes'."
table = str.maketrans({key: "’" for key in string.punctuation if key in "'\""})
text = text.translate(table)
print(text)
x446187 发表于 2023-3-27 21:47
GPT给的答案,你可以试一下
chatGPT时代了都是
overlord012 发表于 2023-3-27 22:10
我们将所有出现的英文引号字符 (') 替换为中文引号字符 (')。 要替换左引号和右引号,可以将 translate ...
这个边怎么测试不成功呢。 最简单的:
import re
text = '"测试""测试"'
print re.sub(r'"(.*?)"', r'“\1”', text)
页:
[1]
2