文档中如何批量替换所有的英文双引号为中文双引号,同时保证引号中的文字内容不变?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文档中如何批量替换所有的英文双引号为中文双引号,同时保证引号中的文字内容不变?相关的知识,希望对你有一定的参考价值。
比如:所有的"革命历史小说"中是英文引号,英文引号不分左右引号,替换为“革命历史小说”,英文引号换成中文了,但是中间的文字(革命历史小说)不变。
下文分为3部分:固定字英文引号如何替换,wps中如何操作替换,msword中如何操作替换。
更新至:2022年1月10日,当前wps版本可以直接进行替换。
即查找:"(*)"
替换:“\\1”
对于固定文字的引文引号按照下文操作
步骤一、打开查找替换(ctrl+h),点击更多,勾选使用通配符
查找:"(革命历史小说)"
替换:“\\1”
注意:查找种的是引文引号,替换中的是中文引号,如果在窗口看不出来,可以先在文档输入,再复制到查找替换窗口中。
步骤二、点击全部替换
就会变成下图的样子
扩展:
()是表达式的意思,\\1是把这个括号中的文字原封不动的下来,再在它的两边加中文引号,即可实现目的
对于任意文字,且操作环境为wps来说,按照下方步骤操作
如果是替换多个内容,文字不相同,而且根据题主楼下的图片显示,操作软件是wps,那么按照下面的方式进行替换。
如图所示,在wps中,想要替换英文引号
步骤一、
依次点击文件-选项-编辑-取消勾选直引号替换为弯引号
步骤二、
打开查找替换,点击高级搜索,勾选使用通配符
查找:"*"
替换:“^&”
点击全部替换
步骤三、
然后取消勾选使用通配符
查找:"
替换:空
全部替换,即可
对于微软word来说,按照下文进行操作
如图所示,我们要替换引文引号为中文引号
打开查找替换,勾选使用通配符
查找:"(*)"
替换:“\\1”
点击全部替换,即可
追问只是拿革命历史小说举了个例子,实际引号中内容千奇百怪,文字也有20W字,有没有通用的方法
追答把中间的文字,换成*
如果你是wps的话,就不能这么操作了,需要分步操作,待我修改一番答案
答案已更新,思路是先把引号都换为右引号,再把本应该是左引号的替换成左引号。
谢谢答主,已试,小段文字可以实现,但是全文整体替换,部分会出现““””(全为中文)的情况,并且想查找突出显示文中全部"(英文引号)时,老是“(中文引号)也全突出显示了,不知道什么原因
一、部分变成连续的中文引号,可能原来就是中文引号。
我们在步骤2使用通配符的时候,查找英文引号",会把中英文的引号全部找到。为了防止这种情况,可以增加新的步骤1.5。
步骤1、跟上文一样
步骤1.5 查找替换,使用通配符,查找英文引号,替换为英文引号(查找:",替换为:")
这一步可以把文中所有的中英文引号变成英文引号
步骤2和步骤3和上文一样
二、突出显示的时候,如果想突出显示所有的英文引号,要取消勾选使用通配符
在WORD中用查找替换功能:
1、首先关闭“直引号替换为弯引号”功能:文件--选项,打开WORD选项设置窗口,在“校对”页,按“自动更正选项…”,在“键入时自动套用格式”选项卡是,取消“直引号替换为弯引号”勾选,如图:
2、进行替换:按CTRL+H,调出查找替换窗口
查找内容:"(*)" 注意:双引号为英文状态下的半角引号
选中使用通配符
替换为:“\\1” 注意:双引号为中文状态下的全角引号
全部替换
追问不行,换了以后,中间的文字变成"了
在EXCEL中,无法使用函数直接查找英文引号。所以我的思路是,先使用CTRL+H,先把所有英文引号替换成别的符号,比如加号,然后再使用SUBSTITUTE进行替换
假如数据在A列
B1
=SUBSTITUTE(SUBSTITUTE(A1,"+","“"),"+","”")
如何在数据框中将 2 个双引号替换为单引号?
【中文标题】如何在数据框中将 2 个双引号替换为单引号?【英文标题】:how to replace 2 double quotes into single in dataframe? 【发布时间】:2020-10-30 08:49:45 【问题描述】:我正在尝试将两个双引号替换为单引号。你能帮帮我吗?
例子:
""My name is shivam.""
预期输出:
"My name is shivam."
我认为在将此数据帧保存到 csv 文件时出现问题。数据框是正确的。
【问题讨论】:
明确一点,如果我将该字符串放入一个变量中,它会是:'""My name is shivam.""'
,而您希望它变成'"My name is shivam."'
?
请提供有关该问题的更多上下文。该字符串出现在哪里?一个文件?
是的,它是一列值。这个东西是大多数列。
df.replace('\""': '"', regex=True)
【参考方案1】:
对于所有列,只需运行:
df = df.apply(lambda s:s.replace('(")(")','"', regex=True))
【讨论】:
不错的解决方案,只是提醒一下,就地会贬值。 link 请检查一下。谢谢。【参考方案2】:IIUC,您可以尝试将捕获组替换为其第一个实例。
print(s)
0 ""My name is shivam.""
1 Shivan
2 "Shivan"
s1 = s.replace('(")(")',r'\1',regex=True)
print(s1)
0 "My name is shivam."
1 Shivan
2 "Shivan"
【讨论】:
【参考方案3】:试一试
df[column_name].replace('""','"',regex=True)
对于多列
df.replace('""','"',regex=True)
【讨论】:
它出现在大多数列中。 不在单列中'。 然后直接使用df.replace() 但在保存到文件时,它再次出现在 2 个双引号中。 您是否正在使用新生成的数据框对象更新数据框对象,如下所示?或不? df = df.replace('""','"',regex=True) 或 df.replace('""','"',regex=True, inplace = True)【参考方案4】:也许你可以使用替换方法。
string = '""My name is shivam.""'
string = string.replace('""','"')
print(string)
如果它在列中,请尝试
df['column'] = df['column'].str.replace('""','"')
【讨论】:
以上是关于文档中如何批量替换所有的英文双引号为中文双引号,同时保证引号中的文字内容不变?的主要内容,如果未能解决你的问题,请参考以下文章