1

假设我有一个像这样的字符串“这是一个语句”,如果我想用这个“这个**一个语句”搜索和替换字符串

用于搜索 this is a statement、this si a statement、this ia statement 和任何组合的字符串将它们转换为此trim a 语句,即对于this & a statement 之间的任何单词组合,将其替换为trim 以获取另一组将fun替换为notfun

所以这是程序

import re
file=open('file','r+')
search=re.sub('this \(a_zA_Z0_9)+ a statement','\1trim',file),('this is fun','this is notfun',file)
file.close()

有些事情是不对的,因为文件中没有任何改变。

谢谢大家。

4

1 回答 1

1

re.sub不适用于文件,它适用于字符串。您需要将文件的内容读入字符串,然后使用 re.sub 更改字符串,然后将修改后的字符串写回文件。

一个简单的例子:

text = open("myfile.txt").read()
# This is your original re.sub call, but I'm not sure it really does what you want.
text = re.sub('this \(a_zA_Z0_9)+ a statement', '\1trim', text)
text = re.sub('this \(a_zA_Z0_9)+ another replacement', 'some other thing', text)
open("myfile.txt", "w").write(text)
于 2009-12-22T01:10:04.287 回答