Python編程快速上手——strip()函數(shù)的正則表達式實現(xiàn)方法分析
本文實例講述了Python strip()函數(shù)的正則表達式實現(xiàn)方法。分享給大家供大家參考,具體如下:
題目如下: 寫一個函數(shù),它接受一個字符串,做的事情和strip()字符串方法一樣。如果只傳入要去除的字符串(原字符串),沒有其他參數(shù),那么就從該字符串首尾去除空白字符串。否則,函數(shù)第二個參數(shù)指定的字符串將從該字符串中去除思路如下: 補充:字符串的str.strip()方法,去除字符串首尾指定的字符,只能去除頭尾兩邊,不能去除中間 程序需要做以下的事情: 接受一個字符串和要去除的字符 調(diào)用函數(shù)去除字符串指定頭尾字符 返回去除后的字符串 代碼需要做以下的事情: def定義一個函數(shù),接受兩個參數(shù) 創(chuàng)建正則表達式對象 返回Regex.sub()替換后的字符串 input()輸入字符串 print()打印輸出函數(shù)返回對象 重點分析: 根據(jù)strip()方法特性,去除頭尾特定字符需要用到“ ^ ”和“ $ ”符號。 由于不能事先知道去除哪些字符,因此在正則表達式中需要用到format格式字符串。 需要用 | “管道'符號在^{0}和{0}$之間插入,匹配多個分組。 sub()方法返回替換后的字符串,因此sub()方法的第一個參數(shù)為”'空。 *默認去除字符串首尾空白字符,我的方法是在input()輸入?yún)?shù)二時,若input() == “”,則重新賦值參數(shù)二為' '空格-星號,星號匹配0次或多次分組,能夠匹配到所有空格。代碼如下:import redef fakeStrip(longStr,str ): stripRex = re.compile(r’^{0}|{0}$’.format(str)) return stripRex.sub(’’,longStr)inputStr1 = input('請輸入原字符串:')inputStr2 = input('請輸入要去除的字符:')if inputStr2 == ’’: #若第二參數(shù)是否為空,更改為’ *’,方便正則表達式進行模式匹配 inputStr2 = ’ *’print('去除后的字符串為:',fakeStrip(inputStr1,inputStr2))輸出結(jié)果如下: 去除字符串 去除空格
PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
JavaScript正則表達式在線測試工具:http://tools.jb51.net/regex/javascript
正則表達式在線生成工具:http://tools.jb51.net/regex/create_reg
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python正則表達式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章:
1. python如何實現(xiàn)word批量轉(zhuǎn)HTML2. 利用單元測試對PHP代碼進行檢查3. Java8內(nèi)存模型PermGen Metaspace實例解析4. python excel和yaml文件的讀取封裝5. python3實現(xiàn)往mysql中插入datetime類型的數(shù)據(jù)6. python爬蟲實戰(zhàn)之制作屬于自己的一個IP代理模塊7. moment轉(zhuǎn)化時間戳出現(xiàn)Invalid Date的問題及解決8. App啟動優(yōu)化-Android性能優(yōu)化9. Django 權(quán)限管理(permissions)與用戶組(group)詳解10. Python編寫單元測試代碼實例
