wtujcf123 发表于 2023-3-27 21:20

如何将英文的引号替换成中文的成对引号。

本帖最后由 wtujcf123 于 2023-5-19 19:04 编辑

各位老师,我使用的是python语言,想请教如何将英文的引号替换成中文的成对引号。


例:
"测试""测试"


最终效果为:“测试”“测试”


我的想法是查找",第一位替换成“,第二位替换成”,依次循环。
在re.sub函数中,仅有替换次数,无法就查找位数进行精确替换。


谢谢各位老师

x446187 发表于 2023-3-27 21:47

GPT给的答案,你可以试一下;www;www

x446187 发表于 2023-3-27 21:39

稍等一下,我来问问GPT;www

xwawa 发表于 2023-3-27 21:44

x446187 发表于 2023-3-27 21:39
稍等一下,我来问问GPT

这个厉害,我不太相信GPT的答案,静候!

w547890 发表于 2023-3-27 21:49


稍等一下,我来问问GPT

wtujcf123 发表于 2023-3-27 21:53

本帖最后由 wtujcf123 于 2023-3-27 21:54 编辑

x446187 发表于 2023-3-27 21:47
GPT给的答案,你可以试一下
哈哈,不错哈。这是简单的正则替换哈。我之前一直陷入需要循环解决问题的境地。

因为,我那个函数里还有其它的非法符号需要替换。想一起利用循环解决。

overlord012 发表于 2023-3-27 22:10

我们将所有出现的英文引号字符 (') 替换为中文引号字符 (')。 要替换左引号和右引号,可以将 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)

yeme1 发表于 2023-3-27 22:14

x446187 发表于 2023-3-27 21:47
GPT给的答案,你可以试一下

chatGPT时代了都是

wtujcf123 发表于 2023-3-27 22:17

overlord012 发表于 2023-3-27 22:10
我们将所有出现的英文引号字符 (') 替换为中文引号字符 (')。 要替换左引号和右引号,可以将 translate ...

这个边怎么测试不成功呢。

lies2014 发表于 2023-3-27 22:40

最简单的:
import re
text = '"测试""测试"'
print re.sub(r'"(.*?)"', r'“\1”', text)
页: [1] 2
查看完整版本: 如何将英文的引号替换成中文的成对引号。