Regex 如何查找和替换模式“)&引用;在文本文件中?

Regex 如何查找和替换模式“)&引用;在文本文件中?,regex,python-3.x,Regex,Python 3.x,我有一个包含特殊字符的文本文件。我想用第一个数据替换第二个数据。 问题是“和”;“应该放在一起,然后替换为“firstdata”;seconddata“ 我有以下代码 import re string = open('trial.txt').read() new_str = re.sub('[);]', 'firstdata);seconddata', string) open('b.txt', 'w').write(new_str) 请建议我如何更改代码以获得正确的输出。您可以使用Pytho

我有一个包含特殊字符的文本文件。我想用第一个数据替换第二个数据。 问题是
”;“
应该放在一起,然后替换为
“firstdata”;seconddata“

我有以下代码

import re
string = open('trial.txt').read()
new_str = re.sub('[);]', 'firstdata);seconddata', string)
open('b.txt', 'w').write(new_str)

请建议我如何更改代码以获得正确的输出。

您可以使用Python中内置的str.replace()方法

string = "foobar);"
string.replace(");", 'firstdata);seconddata')  # -> 'foobarfirstdata);seconddata'
下面是Python中常见字符串操作的文档

这应该可以:

import re

with open("file.txt", "r") as rfile:
    s = rfile.read()
    rplce = re.sub('\);', "REPLACED", s)
with open("file.txt", "w") as wfile:
    wfile.write(rplce)

你可以用更简单的方法

with open('input_file.txt', 'r') as input_file:
   with open('output_file.txt', 'w') as output_file:
       for line in input_file:
           x = line.replace('findtext','replacetext')
           output_file.write(x)

[);]
令人困惑。。。这是一组字符,包含两个我总是逃避的东西,没有匹配长度。。。正如@ryanmarvin指出的,您不需要一个regexp来匹配字符串。。。此正则表达式将是有效的,但“也必须是重复的
[教我]
[);]
表示“一个字符可以是
”。请仔细阅读正则表达式语法。如果您在转义
(它确实是python REs中的一个特殊字符)方面遇到问题,请仔细阅读转义。避免逃避问题的可能解决方案:
[)]