Python 如何使用正则表达式在单引号之间查找双引号?
我有一个类似“how”是“you”的字符串,我想在python中使用正则表达式将“are”周围的引号替换为\Python 如何使用正则表达式在单引号之间查找双引号?,python,regex,Python,Regex,我有一个类似“how”是“you”的字符串,我想在python中使用正则表达式将“are”周围的引号替换为\ input_file = 'D:/Extracts/yourFileName.csv' file_output= 'D:/Extracts/yourFileName_out.csv' with open(input_file, 'r',encoding="utf8") as f, open(file_output, 'w',encoding="utf8") as fo: fo
input_file = 'D:/Extracts/yourFileName.csv'
file_output= 'D:/Extracts/yourFileName_out.csv'
with open(input_file, 'r',encoding="utf8") as f, open(file_output, 'w',encoding="utf8") as fo:
for line in f:
fo.write(line.replace('"', '\"').replace(""", ""))
我希望输出像“你好吗”
字符串“\”
和“
是相同的:它们都只是一个单双引号,因为序列\”
编码一个双引号字符(通常用于“
-引号字符串)
如果你真的想在引号前加一个反斜杠,你必须避开它:
fo.write(line.replace('"', '\\"'))
为了不替换第一个和最后一个字符,可以改用正则表达式:
fo.write(re.sub('(?<!^)"(?!$)', '\\"', line))
fo.write(re.sub)(?可能重复的