大文字如何按行去除重複值

xiaohuihui發表於2020-05-27

去重複行,用SQL寫很簡單,就一句SELECT DISTINCT … FROM。但是檔案上沒法直接用SQL了,想用SQL還得找個資料庫先建表,也很麻煩。如果直接寫程式,簡單思路就是先開啟檔案,再逐行讀入文字。然後將文字跟快取中的惟一值比較,是重複的文字就丟棄,否則追加到快取,待檔案讀完後,再將快取中去重後的內容寫出到輸出檔案。

上述思路雖然簡單,卻只能對付小檔案,沒法處理大檔案。當檔案很大(記憶體裝不下)時,就只能用檔案做快取,或者對原始檔先排序,再去重。但要實現外存快取或者大檔案排序,自己寫還是有點難度和麻煩。

這種情況,如果有集算器就省事多了,用SPL只要一句話:

file("d:/urls.txt").cursor().groupx(#1).fetch()

甚至還可以直接對著檔案寫SQL:

$select distinct #1 from d:/urls.txt

集算器和SPL不僅能對文字做去重,還有很多運算都可以做,其中大多數查詢還能直接用SQL,可以參考:

集算器也是進行檔案資料來源處理的專業工具,可以方便地進行 TXT、Excel、Xml、Json、CSV、ini 等各種檔案資料的混合計算、入庫以及匯出等工作。桌面級計算工具,即裝即用,配置簡單,除錯功能完善,可設定斷點、單步執行,每步執行結果都可檢視。語法簡單,符合人的自然思維,比其他高階開發語言更簡單。請參閱

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2694531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章