我正在寻找使用python中的正则表达式替换文件中的stings。 我提出的代码是
*temp
该文件包含两行,包含两个名称
*temp1
但它显示错误。我做错了什么?
答案 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))