我试图找出如何从文件中提取某个元素。它之前总是有4个元素,但它背后可以有无元素和无穷大元素。我想从这个文件中提取的元素可以命名为任何内容,但每行总是在同一个位置。文件的行格式如下......
$(eval $(call CreateTest, file, KeyElement_0 ...
$(eval $(call CreateTest, file, KeyElement_1 ...
$(eval $(call CreateTest, file, KeyElement_2 ...
...
$(eval $(call CreateTest, file, KeyElement_n ...
我希望能够拉出KeyElement并将其读入列表,但我目前正在这样做......
proc filterTests path {
set f [listFromFile $path0/listfile]
set f [lsearch -all -inline $f "KeyElement_*"]
return $f
}
现在可行,但元素可能不一定遵循KeyElement_*
格式,因此我需要能够对此进行说明。
修改
我用来从文件中读取的代码看起来像;
proc listFromFile {$path1} {
set find {$(eval $(call CreateTest, file, *}
upvar path1 path1
set f [open $path1 r]
while {[gets $f line] != -1} {
if {[string match ${find} $line]} {
set write [open listfile a]
foreach writetofile $line {
puts $write $writetofile
}
close $write
答案 0 :(得分:0)
也许你可以试试
0.0190567;4.92035;11.0541;13.1457;
或其他一些。您当然必须根据需要修改实际的正则表达式。
如果有用,会展开。