如何從檔案中提取指定位置的資料????

2021-09-05 19:39:42 字數 3670 閱讀 1724

如何從檔案中提取指定位置的資料???? vcl元件開發及應用

資料如下:  

begin   of   epoch   (gps   /   utc)   :   172800.0       2006   12   12     0     0     0.0  

plh   (ddmmss.ss)   clk   ztd   (m)   :   385508.36127     -770358.37552     40.803     -191.177     0.095  

xyz   (m)   :   1112188.769     -4842946.925     3985349.484  

satellites   tracked   /   used   :   8     8  

gdop   pdop   hdop   vdop   tdop   :   2.3     2.0     1.1     1.7     1.1  

sigma   plh   clk   (m)   :   1.700     1.254     3.432     58.702  

end   of   epoch   (gps   /   utc)   :   172800.0       2006   12   12     0     0     0.0  

begin   of   epoch   (gps   /   utc)   :   172830.0       2006   12   12     0     0   30.0  

plh   (ddmmss.ss)   clk   ztd   (m)   :   385508.34732     -770358.35977     41.236     -191.708     0.095  

xyz   (m)   :   1112189.274     -4842947.432     3985349.421  

satellites   tracked   /   used   :   9     8  

gdop   pdop   hdop   vdop   tdop   :   2.3     2.0     1.1     1.7     1.1  

sigma   plh   clk   (m)   :   1.203     0.887     2.439     1.869  

end   of   epoch   (gps   /   utc)   :   172830.0       2006   12   12     0     0   30.0  

begin   of   epoch   (gps   /   utc)   :   172860.0       2006   12   12     0     1     0.0  

plh   (ddmmss.ss)   clk   ztd   (m)   :   385508.34119     -770358.34916     41.441     -192.052     0.095  

xyz   (m)   :   1112189.586     -4842947.645     3985349.403  

satellites   tracked   /   used   :   9     8  

gdop   pdop   hdop   vdop   tdop   :   2.3     2.0     1.1     1.7     1.1  

sigma   plh   clk   (m)   :   0.982     0.725     2.000     1.559  

end   of   epoch   (gps   /   utc)   :   172860.0       2006   12   12     0     1     0.0  

需要從以上的資料中提取plh   (ddmmss.ss)   clk   ztd   (m)   :   後面的3個值,即第1段的385508.36127     -770358.37552     40.803這三個值,資料中很很多這樣的小段,面需要從每一段中取出這三個值來,怎麼才能實現呢?  

最好有原始碼,謝謝了。。

procedure   readln([   var   f:   text;   ]   v1   [,   v2,   ...,vn   ]);

readln把資料讀上來後,怎麼判斷哪個是我要的資料呢,能說的詳細點嗎

我的做法可能比較笨(借助tstringlist類和pos、copy函式)  

procedure   tform1.button1click(sender:   tobject);  

var  

slist,   sltemp   :   tstringlist;  

i   :   integer;  

s,   stemp   :   string;  

begin  

s   :=   'plh   (ddmmss.ss)   clk   ztd   (m)   :   '   ;   //這是標誌串,前面沒有空格,如有,則要另加處理  

slist   :=   tstringlist.create;                         //建立兩個stringlist--slist和sltemp  

sltemp   :=   tstringlist.create;                       //  

slist.loadfromfile('c:\src.txt');               //把c:\src.txt的內容匯入slist  

for   i   :=   0   to   slist.count-1   do  

if   pos(s,slist[i])   >   0   then                 //如果一行中有標誌串則做以下處理  

begin  

stemp   :=   stringreplace(slist[i],s,'',[rfreplaceall]);  

sltemp.text   :=   stringreplace(stemp,'     ',#10,[rfreplaceall]);  

memo1.lines.add(   sltemp[0]   +   ','   +   sltemp[1]   +   ','   +   sltemp[2]   );  

end;  

sltemp.free;//釋放用過的兩個字串列表  

slist.free;  

end;  

注意,前提是你的文字資料要有一定的格式,如:三個數字串之間都需要是用兩個空格做間隔。  

另外,我假設你是把資料存放在了乙個txt檔案中。  

樓主測試時,如果失敗,就從一些細節上找原因(如空格問題)  

我的輸出結果是:  

385508.36127,-770358.37552,40.803  

385508.34732,-770358.35977,41.236  

385508.34119,-770358.34916,41.441  

lihuasoft(學習低調做人)   謝謝了,你的方法可以實現。  

分已送出,請查收。。

分已收到.   也謝謝樓主,   因為你是乙個負責任的人.   雖然已暗下決心2023年不再搶分,   但仍然對似你這樣及時結貼的人表示敬意

python kafka,從指定位置消費資料

staticmethod def get kafka reviews self print type self.bootstrap servers consumer kafka.kafkaconsumer bootstrap servers self.bootstrap servers group ...

MATLAB之從fig檔案中提取資料

open figname.fig 開啟檔案 obj get gca,children 資料儲存在obj裡面 data get obj,cdata open figname.fig h line get gca,children get linehandles xdata get h line,xda...

jmeter正則提取器提取指定位置的字串

1 需求 提取登入後的憑證ticket供系統其他介面呼叫 2 登入介面返回的格式如下 如 正規表示式 使用此串進行資訊匹配 模板指定運用哪個模板,模板自動編號,1 指第乙個模板,2 指第二個模板,依次類推,0 指全文匹配 匹配數字 0代表隨機 0代表隨機,負數取所有值,不同模板可能會匹配一組值,那麼...