我有一个包含多行的文件,每行都有很长的字符序列(没有空格)。
例如,在一行中:
qwerrqweqweasdqweqwe * replacethistext * asdasdasd
qwerrqweqweasdqweqwe * withthistext * asdasdasd
我正在寻找的特定字符串可以发生在某一行中的任何位置。
我将如何做到这一点?
由于
答案 0 :(得分:7)
>>> s = 'qwerrqweqweasdqweqwe*replacethistext*asdasdasd'
>>> s.replace('*replacethistext*', '*withthistext*')
'qwerrqweqweasdqweqwe*withthistext*asdasdasd'
答案 1 :(得分:1)
import string
for line in file:
print string.replace(line, "replacethistext", "withthistext")
答案 2 :(得分:1)
line = "qwerrqweqweasdqweqwe*replacethistext*asdasdasd"
line = line.replace("*replacethistext*", "*withthistext*")
您可以使用任何字符串执行此操作。如果您需要使用regexp进行替换,请使用re.sub()
。请注意,两者都不会发生,因此您必须将结果分配给变量(在本例中为原始字符串)。
使用文件IO和所有内容:
with open(filename, 'r+') as f:
newlines = []
for line in f:
newlines.append(line.replace(old, new))
# Do something with the new, edited lines, like write them to the file
答案 3 :(得分:1)
fp = open(filename, 'r')
outfp = open(outfilename, 'w')
for line in fp:
outfp.write(line.replace('*replacethistext*', '*withthistext*'))
fp.close()
outfp.close()