8ケタのフィールドをもつテキストデータ(具体的に言うとNASTRANのバルクデータ)を
MATLABに読み込もうとしています。
例えば以下のような感じです。
$$------------------------------------------------------------------------------$
$$------------------------------------------------------------------------------$
$---1---/---2---/---3---/---4---/---5---/---6---/---7---/---8---/---9---
GRID 1000001 1425.013454.42021802.587
GRID 1000002 1413.27453.2196 1835.44
GRID 1000003 1413.284451.9704 1835.4
GRID 1000004 1425.013 -454.421802.587
$$------------------------------------------------------------------------------$
CTETRA 1685325 90 1099754 1114868 1114873 1114870 2195015 1428779+
+ 1945241 2195016 1428776 2195014
CTETRA 1685326 90 1114988 1099757 1098925 1114868 1986101 1349530+
+ 1476030 1986156 2195005 2195013
CTETRA 1685327 90 1101590 1099758 1099754 1114870 1349529 1940311+
+ 1940310 1581630 2195004 2195016
$$------------------------------------------------------------------------------$
CBUSH 2984050 3 2340912 2821251 0
CBUSH 2984051 3 2821196 2821252 0
区切り文字は無く、たとえば7行目で言うと、
はじめの8ケタ:GRID
2番目の8ケタ:1000001
3番目の8ケタ:空欄
4番目の8ケタ:1425.013
5番目の8ケタ:454.4202
6番目の8ケタ:1802.587
というデータがそれぞれ格納されています。なお$で始まる行はコメント行なので無視したいです。
このようなデータを読み込むにはどのような処理をすればよろしいでしょうか。
12年くらい前の質問で似たようなもの(下記リンク)があったのですが、現在も欠損値を持った固定幅のデータを読み込む機能はないでしょうか。
ちなみに、読み込んだ後やりたい処理は、
ファイル全体(130万行程度)の中から、GRIDで始まる行を選び出し、
2番目の8ケタの数値(=点の識別番号)と4~6番目の8ケタの数値(点の座標)を配列に格納する、
ということをやりたいです。
以上よろしくお願いいたします。