Python如何仅替换文本文件中反斜杠转义的双引号?
问题修正方案
你的问题出在正则表达式的匹配逻辑上:r'\"'会匹配所有双引号,导致所有"被删除,而原本和"配对的反斜杠被保留,最终输出不符合预期。
解决方案1:直接使用字符串替换(推荐,更高效)
不需要正则,直接精准替换目标子串:
import re file_path = "backslash_double_quotation.txt" with open(file_path, "r") as input_file: raw_text = input_file.read() # 替换文件中的 \" 组合为空字符串 processed_text = raw_text.replace('\\"', '') print(raw_text) print(processed_text)
解决方案2:使用正则表达式替换
如果需要处理更复杂的匹配场景,正则中需用\\匹配实际的反斜杠,再匹配后续的双引号:
import re file_path = "backslash_double_quotation.txt" with open(file_path, "r") as input_file: raw_text = input_file.read() # 匹配 \ 后跟 " 的组合并替换为空 processed_text = re.sub(r'\\"', "", raw_text) print(raw_text) print(processed_text)
以上两种方式都会只删除文件中的\"组合,保留其他普通双引号,最终输出符合你的预期:
"good to know it so nice "
内容的提问来源于stack exchange,提问作者Arthur
相关产品推荐
相关产品推荐

