如何使用Julia搜索文件中的行

时间:2018-04-23 16:07:25

标签: julia

我需要在包含子字符串的文件中找到一行(行),然后对前两行中的子字符串进行一些操作,例如: 如果有一个“add”子字符串是某行,则从前两行中提取两个数值:

push contant 17
push constant 5
Add

然后将它们打印出来以便我得到:

输出中:

17
5

我可以在每行找到“And”行并包含:

    for ln in eachline(open(f))

        if  (contains(ln,"Add"))

但后来我不知道如何回到前面的行以提取所需的内容

1 个答案:

答案 0 :(得分:0)

每次读取一行时,请保留前两行。因为第一次通过循环不会有这样的行将它们设置为nothing。然后,您可以使用倒数第二个读取行的值来了解您实际上是否有两个前一行。

julia> previous_line==nothing
true

julia> previous_previous_line==nothing
true

julia> for line in eachline(open("sample.txt"))
       if contains(line, "Add") && previous_previous_line!=nothing
       # do something here involving line, previous_line and previous_previous_line
       end
       previous_previous_line, previous_line = previous_line, line
       end