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

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

若是用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() /求和

若是不是對總體求和,而是按行求和,代碼也很簡單:spa

  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 裏反覆執行,還能夠用命令行方式調用。命令行

相似其它的文件計算例子:比較 csv 文件中數據差別調試

處理 Excel 也不是問題:excel 合併彙總excel

這裏有總結的更多文本計算例子,涵蓋了常見的結構化數據的運算:SPL 結構化文本計算htm

esProc 是專業的文件處理腳本,即安即用,調試方便,類庫豐富,詳情參考:文件處理器開發

關於集算器安裝使用、得到免費受權和相關技術資料,能夠參見:如何使用集算器字符串

相關文章
相關標籤/搜索