在Julia中解析文本文件

Ben*_*Ben 2 arrays io julia

我是朱莉娅的新手.我正在寻找一种方法将50个文本文件中的值输入到数组中.文件以data-X.datX为整数1-50 的形式命名.文件格式如下(我无法控制格式):

garbage text
comment: words = I1, more words = I2
more garbage text
blah blah   = F1
measurement = F2   F3 text
Run Code Online (Sandbox Code Playgroud)

其中I1I2是整数和F1,F2和,F3是十进制形式的数字(例如12.345).我想将数据转储到数组中,例如,数组的第三个元素i1I1文件中的值data-3.dat.

我如何在朱莉娅这样做?到目前为止,我发现的所有示例都处理由简单分隔符解析的数据文件,这不是这里的情况.

Ben*_*Ben 7

感谢@ColinTBowers和@AaronSheldon的帮助.这是我第一次使用正则表达式,我大量使用了维基百科页面.如果将来有人正在寻找示例代码,这就是我最终做的事情:

nf = 50                       # number of files
nmbr = r"\-?[0-9]+\.?[0-9]*"  # regex to find an integer or decimal number

i1 = zeros(Int64, nf)
i2 = zeros(i1)
f1 = zeros(Float64, nf)
f2 = zeros(f1)
f3 = zeros(f1)

for X in 1:nf
   file = open("data-$(X).dat")
   line = readlines(file)
   extract(linenum, index=1) = matchall(nmbr, line[linenum])[index]
   i1[X] = parse(Int64, extract(2,1))
   i2[X] = parse(Int64, extract(2,2))
   f1[X] = parse(Float64, extract(4))
   f2[X] = parse(Float64, extract(5,1))
   f3[X] = parse(Float64, extract(5,2))
   close(file)
end
Run Code Online (Sandbox Code Playgroud)