如何從檔案中提取指定位置的資料???? 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代表隨機,負數取所有值,不同模板可能會匹配一組值,那麼...