Python程式設計快速上手——strip()函式的正則表示式實現方法分析
阿新 • • 發佈:2020-03-02
本文例項講述了Python strip()函式的正則表示式實現方法。分享給大家供大家參考,具體如下:
題目如下:
- 寫一個函式,它接受一個字串,做的事情和strip()字串方法一樣。如果只傳入要去除的字串(原字串),沒有其他引數,那麼就從該字串首尾去除空白字串。否則,函式第二個引數指定的字串將從該字串中去除
思路如下:
- 補充:字串的str.strip()方法,去除字串首尾指定的字元,只能去除頭尾兩邊,不能去除中間
- 程式需要做以下的事情:
接受一個字串和要去除的字元
呼叫函式去除字串指定頭尾字元
返回去除後的字串 - 程式碼需要做以下的事情:
def定義一個函式,接受兩個引數
返回Regex.sub()替換後的字串
input()輸入字串
print()列印輸出函式返回物件 - 重點分析:
根據strip()方法特性,去除頭尾特定字元需要用到“ ^ ”和“ $ ”符號。
由於不能事先知道去除哪些字元,因此在正則表示式中需要用到format格式字串。
需要用 | “管道"符號在^{0}和{0}$之間插入,匹配多個分組。
sub()方法返回替換後的字串,因此sub()方法的第一個引數為”"空。
*預設去除字串首尾空白字元,我的方法是在input()輸入引數二時,若input() == “”,則重新賦值引數二為" "空格-星號,星號匹配0次或多次分組,能夠匹配到所有空格。
程式碼如下:
import re def fakeStrip(longStr,str ): stripRex = re.compile(r'^{0}|{0}$'.format(str)) return stripRex.sub('',longStr) inputStr1 = input("請輸入原字串:") inputStr2 = input("請輸入要去除的字元:") if inputStr2 == '': #若第二引數是否為空,更改為' *',方便正則表示式進行模式匹配 inputStr2 = ' *' print("去除後的字串為:",fakeStrip(inputStr1,inputStr2))
輸出結果如下:
- 去除字串
- 去除空格
PS:這裡再為大家提供2款非常方便的正則表示式工具供大家參考使用:
JavaScript正則表示式線上測試工具:
http://tools.jb51.net/regex/javascript
正則表示式線上生成工具:
http://tools.jb51.net/regex/create_reg
更多關於Python相關內容可檢視本站專題:《Python正則表示式用法總結》、《Python資料結構與演算法教程》、《Python函式使用技巧總結》、《Python字串操作技巧彙總》、《Python入門與進階經典教程》及《Python檔案與目錄操作技巧彙總》
希望本文所述對大家Python程式設計有所幫助。