使用Python處理複雜字串的必殺技-re.sub()的妙用
給定一個包含數字且長度與格式位置皆固定的字串,如'B83C72D1D8E67',現在的需求是,刪除給定字串裡的任何一個單個字元為數字的字串,其餘"連續2個數字"則作為1組數字,並判斷該組數字是否>=50,若符合條件返回50,否則為0。
對比原字串,並根據上述規則來修改,預期輸出應是"B50C50DDE50"。
如果使用傳統的for迴圈來寫,其實還挺費腦子的,光是if語句就巢狀了3層,下圖是使用for迴圈寫出來的程式碼,雖然結果符合預期的輸出,但挺麻煩:
類似這種字串處理的最優解法是re模組裡的sub(),即"正規表示式替換"法,非常非常的方便好用,只需提取符合正規表示式'\d{1,2}'的字串,再替換成自定義函式的返回值即可,請見下圖優化後的程式碼:
相關文章
- 產品經理課程的必殺技
- RestTemplate處理巢狀的複雜返回物件REST巢狀物件
- Flink - CEP(複雜事件處理)事件
- JAVA 解析複雜的json字串JavaJSON字串
- Python武器庫 - 科研中常用的python字串處理 - 字串擴充Python字串
- Apache Flink複雜事件處理指南 - softwaremillApache事件REM
- f-strings: Python字串處理的瑞士軍刀Python字串
- 簡單的字串處理字串
- 害怕軟體的複雜嗎?其實複雜性是必須存在的 - ferd
- 軟體的複雜性正在殺死我們
- 開發的必殺技:Git 的分支管理Git
- python GIL的使用及弊端處理Python
- 複雜場景資料處理的 OLTP 與 OLAP 融合實踐
- 處理 JavaScript 複雜物件:深拷貝、Immutable & ImmerJavaScript物件
- JavaScript常用的字串處理方法JavaScript字串
- 複雜性是心智殺手 - PhilipK
- 字串處理字串
- 「Python實用祕技01」複雜zip檔案的解壓Python
- PHP 陣列排序(複雜字串)PHP陣列排序字串
- Linux 使用 shell 指令碼處理字串Linux指令碼字串
- 【譯】如何合理地處理複雜TableView頁面View
- python-docx處理Word必備工具Python
- 實用處理字串的linux命令字串Linux
- 處理stdin輸入的字串指令字串
- 處理字串的方法都在這裡字串
- 字串和日期時間的處理字串
- 精通Python自然語言處理 1 :字串操作Python自然語言處理字串
- 盤點一個Python字串格式化處理的問題(AI+Python)Python字串格式化AI
- Laravel使用MongoDB複雜的查詢LaravelMongoDB
- 技術文件:基於 Python 的影像處理系統Python
- 時間複雜度一定的演算法能處理的資料規模時間複雜度演算法
- vue開發黑科技--利用引用型別的值處理複雜資料的編輯Vue型別
- C++中的字串編碼處理C++字串編碼
- 前端巧技 | 有點複雜的穿梭框前端
- 探索責任鏈模式:優雅處理複雜請求鏈模式
- SQL中的常用的字串處理函式大全SQL字串函式
- hanlp自然語言處理包的基本使用--pythonHanLP自然語言處理Python
- Python影像處理初探:Pillow庫的基礎使用Python