我有一个由许多数据块组成的大文件。例如,两个数据块如下所示:
name1 1234567 comment
property1 = 1234567.98765 property2 = 1234567.98765
property3 = 1234567.98765
final
name2 1234568 comment
property1 = 987654.321 property2 = 9876543.0
property3 = 1234567.98765
final
...
字符串
问题,我有一段代码修改了一个数据块,但是代码的结果是一个字符串(updated_string
),其中包含了文件中的所有数据块(修改的数据块和所有其他未修改的数据块)。
Goal.我只想要updated_string
中修改后的数据块,然后只将updated_string
放在外部文件中,文件中的所有其他数据块都保持不变。
到目前为止,我已经从以前的帖子中找到了如何从updated_string
中删除修改后的数据块之前的所有内容。例如,如果第二个数据块已经被修改,我会这样做:
mystring = "name2"
begin = string.find(mystring)
string[:begin]
型
但是,我无法删除我想要的数据块中“final
“之后的所有内容。我知道我可以这样做
mystring2 = "final"
stop = string.find(mystring2)
string[stop:]
型
但是它并没有标识出我想要的特定数据块,有没有人可以建议我如何查找name2
之后的第一个“final”,这样我就可以得到一个只由我想要的数据块组成的字符串?
1条答案
按热度按时间xxb16uws1#
逻辑并不完全清楚,但假设你想找到
name2
和它后面的第一个final
之间的块,只要调整你当前的逻辑就可以了:字符串
或者,更好的方法是使用
str.find
的start
参数:型
输出量:
型