如何從字串文字中拆解出多個數值並計算

xiaohuihui發表於2020-05-12

對於字母符號數值混排的文字檔案,可以拷入Excel再拆解,但公式過於複雜,普通人難以掌握。用VBA\JAVA\Python等開發語言也可以解決這個問題,但程式碼冗長繁瑣,還要使用難懂的正規表示式,實現起來更加困難。

如果用esProc就會簡單很多。比如文字檔案的其中一行是"Jeff spent 13.5$ for cola, 5.2$ for coat,and 21$ for toys",要對該檔案中的所有數值求和,esProc程式碼可以寫成:


A B
1 =file("data.txt").read() /讀入文字,形成一個大字串
2 =A1.word@d() /拆解出所有的數值,包括小數
3 =A2.sum() /求和

如果不是對整體求和,而是按行求和,程式碼也很簡單:


A B
1 =file("data.txt").import@i() /讀入文字,每行一個字串
2 =A1.new(~.words@s()(1):name,~.words@d():numbers) /按行拆分,形成兩列,name列存該行單詞中的第一個(名字),numbers存數值
3 =A2.derive(numbers.sum()) /新加一列,對numbers裡的數值求和

esProc 是個指令碼語言,可以在 IDE 裡反覆執行,還可以用命令列方式呼叫。

類似其它的檔案計算例子:

處理 Excel 也不是問題:

這裡有總結的更多文字計算例子,涵蓋了常見的結構化資料的運算:

esProc 是專業的檔案處理指令碼,即安即用,除錯方便,類庫豐富,詳情參考:

關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見:

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

相關文章