全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1340
推到 Plurk!
推到 Facebook!

請教哪種方法過濾文本效率最高?[

答題得分者是:syntax
devhp
一般會員


發表:6
回覆:10
積分:3
註冊:2007-06-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-04-01 10:52:54 IP:65.49.xxx.xxx 訂閱
文本A 200M

格式:
dsafdsafd
dsafdsafdsafdsa
dsafdsafdsa
dsafdsaf
.....

文本B 150M

格式:相同

用哪種方法將文本A中與文本B中相同的行過濾掉

最好不要用什麼數據庫之類的
------
dfs
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-04-02 12:10:32 IP:59.125.xxx.xxx 訂閱
自己做 loop 比較,速度最快
loop for line
loop for inside of line
get start pointer of both line
case to int64 and run and
until line end or and result > 0
end of loop for inside od line
end of loop for line

使用已知元件 Grid TCompare TStringList 或其他選擇,開發最快

===================引 用 devhp 文 章===================
文本A 200M

格式:
dsafdsafd
dsafdsafdsafdsa
dsafdsafdsa
dsafdsaf
.....

文本B 150M

格式:相同

用哪種方法將文本A中與文本B中相同的行過濾掉

最好不要用什麼數據庫之類的
st33chen
尊榮會員


發表:15
回覆:591
積分:1201
註冊:2005-09-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-04-08 09:37:38 IP:114.32.xxx.xxx 未訂閱
您好,
理論上比較的次數越少越快,
實作, 可以用 tstringlist.find 來取代自己寫字串比較

另, 所謂過濾是指 A, B 各留下非交集的部份嗎?
還是 A 留全部, B 留非A的部份?
B 留全部, A 留非B的部份?
合併成一個 C 留 A B 的聯集?
又, 要不要保留原序?

寫法會不一樣

------
IS IT WHAT IT IS
我是 李慕白 請倒著唸.
又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦);
都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲.
編輯記錄
st33chen 重新編輯於 2010-04-08 09:44:55, 註解 無‧
st33chen 重新編輯於 2010-04-08 09:45:50, 註解 無‧
st33chen 重新編輯於 2010-04-08 09:52:27, 註解 無‧
st33chen 重新編輯於 2010-04-08 09:58:57, 註解 無‧
系統時間:2024-04-20 7:51:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!