如何拆出字串中的數值並排序
通常情形下,一列資料都是整體參與排序,但如果資料是由字母跟序號組合在一起,比如名字加序號的一列資料:
Mike105
Rose11
Rose1
Rose5
Mike6
現在需要先按名字排序,再按序號排序。比如Mike6要排在Mike105前面,期望的結果如下:
Mike6
Mike105
Rose1
Rose5
Rose11
這個需求看似簡單,但真要考慮實現它的步驟時,就會發現還真不是那麼容易。就算是檔案不夠大的情形,也需要先按行讀取檔案,將資料拆分為兩列後,先按名字列排序,當名字列同時,再根據序號列區域性排。而這種複合排序,一般沒有現成的函式,完全需要自己實現。另外,考慮檔案特別大的情形時,還得使用檔案快取來進行排序,這些程式碼實現起來都特別繁瑣。
這種情況,如果有集算器就方便多了,用SPL實現只要一句話:
file("d:/data.txt").import().sort( )
集算器指令碼SPL不光能輕鬆排序結構化的文字,對它做分組,過濾也都非常方便,甚至還能關聯計算多個檔案。具體內容可以參考:
集算器是進行檔案資料來源處理的專業工具,可以方便地進行 TXT、Excel、Xml、Json、CSV、ini 等各種檔案資料的混合計算、入庫以及匯出等工作。桌面級計算工具,即裝即用,配置簡單,除錯功能完善,可設定斷點、單步執行,每步執行結果都可檢視。語法簡單,符合人的自然思維,比其他高階開發語言更簡單。請參閱
SPL也能很方便地嵌入到JAVA應用,可參考:
具體使用方法可參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2691651/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 如何拆分字串中的數值後排序SQL字串排序
- 如何從字串文字中拆解出多個數值並計算字串
- mysql 字串型別的數值欄位按照數值的大小進行排序MySql字串型別排序
- 生成隨機字串並排序隨機字串排序
- SQL Server 中將字串按數字排序SQLServer字串排序
- mysql相同數值排序MySql排序
- JZ-053-表示數值的字串字串
- 劍指Offer 表示數值的字串字串
- Python中如何進行字串計數?Python字串
- js面試題-找出字串中的數字,並替換為*JS面試題字串
- 字串-簡單字串排序字串排序
- 劍指Offer系列之「表示數值的字串」字串
- 將數值轉換為字串的函式字串函式
- Python中如何將字串變成數字?Python字串
- js數值排序中冒泡演算法的4種簡單實現JS排序演算法
- 第六章 生成隨機字串並排序 練習隨機字串排序
- PHP二維陣列切割為字串並去除重複的值PHP陣列字串
- JavaScript 字串轉換數值型別JavaScript字串型別
- Python工作筆記-往dll中傳入char*型別的引數並且如何接收char*的值Python筆記型別
- .Net將集合M內非空引數值的引數按照引數名ASCII碼從小到大排序(字典序),並使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字串stringAASCII排序字串
- 如何在MonogoDB中檢視配置的引數值MonoGo
- linux 中如何判斷變數是否為數值Linux變數
- shell 給字串增加單引號,並移除字串中多餘的空格字串
- js字串排序方法JS字串排序
- MySQL 對字串排序MySql字串排序
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- 獲取母字串中某個子字串的某個確定的index值字串Index
- 查詢排序二叉樹的最小值,最大值,Next指標,並逆序列印排序二叉樹指標
- js將陣列中的字串執行字母表排序JS陣列字串排序
- 判斷字串中出現最多的字元,並統計次數字串字元
- python如何去掉字串中的空格Python字串
- 如何列印數值變數變數
- 計算機中數值和字串怎麼用二進位制表示?計算機字串
- python 的數值和字串和相關內建函式Python字串函式
- [譯] Python 中的鍵值(具名)引數:如何使用它們Python
- 3 python的數值在記憶體中如何儲存Python記憶體
- 使用正規表示式對數字字串欄位排序字串排序
- Rust中如何排序Vector?Rust排序