如何找到并替换模式");"在文本文件中?

时间:2018-04-25 13:03:17

标签: regex python-3.x

我有一个包含特殊字符的文本文件。我想将");"替换为"firstdata);seconddata"。 问题是,")"";"应该在一起,然后替换为"firstdata);seconddata"

我有以下代码。

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

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

3 个答案:

答案 0 :(得分:2)

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

string = "foobar);"
string.replace(");", 'firstdata);seconddata')  # -> 'foobarfirstdata);seconddata'

以下是Python中常见字符串操作的文档 https://docs.python.org/3/library/string.html

答案 1 :(得分:2)

这应该做:

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)

答案 2 :(得分:0)

您可以使用更简单的方法。

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)