使用Python處理複雜字串的必殺技-re.sub()的妙用
給定一個包含數字且長度與格式位置皆固定的字串,如'B83C72D1D8E67',現在的需求是,刪除給定字串裡的任何一個單個字元為數字的字串,其餘"連續2個數字"則作為1組數字,並判斷該組數字是否>=50,若符合條件返回50,否則為0。
對比原字串,並根據上述規則來修改,預期輸出應是"B50C50DDE50"。
如果使用傳統的for迴圈來寫,其實還挺費腦子的,光是if語句就巢狀了3層,下圖是使用for迴圈寫出來的程式碼,雖然結果符合預期的輸出,但挺麻煩:
類似這種字串處理的最優解法是re模組裡的sub(),即"正規表示式替換"法,非常非常的方便好用,只需提取符合正規表示式'\d{1,2}'的字串,再替換成自定義函式的返回值即可,請見下圖優化後的程式碼:
相關文章
- UITableView複雜介面處理UIView
- RestTemplate處理巢狀的複雜返回物件REST巢狀物件
- 巧用狀態值處理複雜的 TableViewView
- python中re.sub使用Python
- Flink - CEP(複雜事件處理)事件
- CXF--處理複雜型別型別
- JAVA 解析複雜的json字串JavaJSON字串
- AsyncTask 處理複雜多個任務。
- ssh配置除錯的必殺技除錯
- Python武器庫 - 科研中常用的python字串處理 - 字串擴充Python字串
- 軟體的複雜性正在殺死我們
- 批處理實現的ip地址切換的複雜指令碼指令碼
- 害怕軟體的複雜嗎?其實複雜性是必須存在的 - ferd
- Apache Flink複雜事件處理指南 - softwaremillApache事件REM
- 開發的必殺技:Git 的分支管理Git
- 高效sql必殺技SQL
- 【譯】處理 iOS 中複雜的 Table Views 並保持優雅iOSView
- 複雜性是心智殺手 - PhilipK
- 簡單的字串處理字串
- 字串的封送處理字串
- shell中字串的處理字串
- 處理字串的小程式字串
- 複雜場景資料處理的 OLTP 與 OLAP 融合實踐
- hibernate如何處理儲存過程中的複雜邏輯儲存過程
- 複雜性正在殺死軟體開發者
- PHP 陣列排序(複雜字串)PHP陣列排序字串
- 【問題處理】使用trim和 replace處理字串中的換行符號字串符號
- JavaScript常用的字串處理方法JavaScript字串
- sql對於字串的處理SQL字串
- 【譯】如何合理地處理複雜TableView頁面View
- 處理 JavaScript 複雜物件:深拷貝、Immutable & ImmerJavaScript物件
- 字串處理字串
- f-strings: Python字串處理的瑞士軍刀Python字串
- 「Python實用祕技01」複雜zip檔案的解壓Python
- python GIL的使用及弊端處理Python
- 保護路由器的十四招必殺技路由器
- 高效SQL語句必殺技SQL
- 軟體複雜性正在殺死我們