在python中查找和替换字符串

时间:2016-04-10 07:52:23

标签: python regex

我正在寻找使用python中的正则表达式替换文件中的stings。 我提出的代码是

*temp

该文件包含两行,包含两个名称

*temp1

但它显示错误。我做错了什么?

2 个答案:

答案 0 :(得分:0)

您不需要重新替换字符串。

你可以这样使用replace()

>>> s = "This is a string."
>>> s = s.replace("This", "That")
>>> print(s)
That is a string.

现在,如果你不知道你需要替换什么,你可以手动解析整个字符串或者用re来查找。

答案 1 :(得分:0)

您的错误是因为您将整个文件作为第三个参数传递,而re.sub()不接受该参数。第三个参数应为string而不是文件。所以它导致错误。

如果你想做inplace替换,你应该试试这个

import re,fileinput

for line in fileinput.input('input_file.txt', inplace=True): 
    print(re.sub(r'(\w+)\s(\w+)', r'<fname>\1</fname>\n<sname>\2</sname>', line.strip("\n"), flags=re.I))