您好,登錄后才能下訂單哦!
本文實例講述了Python常用字符串替換函數strip、replace及sub用法。分享給大家供大家參考,具體如下:
今天在做一道今年秋季招聘題目的時候遇上了一個替換的問題,題目看起來好長好復雜啊,真的,一時間,我看了好幾遍也沒看懂,其實實質很簡單,就是需要把給定的一個字符串里面的指定字符替換成一些指定的內容就行了,這樣首選當然是字典了,沒有之一,題目很簡單就不寫出來了,在這里花了一點時間專門總結了一下字符串的替換的幾個常用的函數,希望也能幫到有需要的人,自己也是當做一個學習的記錄,好了,在這里就不多說什么了,在代碼中該說的都說了,直接看程序:
#!/usr/bin/env python # coding:utf-8 import re ''''' 功能:對常見的幾種字符串處理函數進行測試使用學習 Author:沂水寒城 ''' def str_test(): str_list=['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove'] str_dict={ '!!!':'$$$', ' ':'@', 'T':'t', 'L':'&' } #使用replace ''''' 基本用法:對象.replace(rgExp,replaceText,max) rgExp和replaceText是必須要有的,max是可選的參數 ''' str_list1=str_list res_list=[] for one_str in str_list1: for key in str_dict: one_str = one_str.replace(key, str_dict[key]) res_list.append(one_str) print '**************replace替換結果為:*********************' print str_list1 print res_list #使用re ''''' re.sub()有5個參數,三個必選參數pattern,repl,string;兩個可選參數count,flags re.sub(pattern,repl,string,count,flags) pattern:表示正則表達式中的模式字符串; repl:被替換的字符串,或者是一個方法(既可以是字符串,也可以是函數); 當repl為字符串的時候,也就是需要 將string中與pattern匹配的字符串都替換成repl 當repl為方法的時候,就必須是一個帶有一個參數,且參數為MatchObject類型的方法,該方法需要返回一個字符串。 string:要被處理的,要被替換的字符串; count:指的是最大的可以被替換的匹配到的字符串的個數,默認為0,就是所有匹配到的字符串。 flgas:標志位 ''' str_list2=str_list res_list=[] pattern_rule=re.compile(r'!!!') for one_str in str_list2: one_str = re.sub(pattern_rule, '$$$', one_str) res_list.append(one_str) print '**************sub替換結果為:*********************' print str_list2 print res_list #使用strip() ''''' 個人使用strip()很久了,感覺這個函數在一些事比如字符串末尾換行符去除等方面出奇的好用, 它并不算是一個純正意義上跟上面兩個函數類似的字符串處理的函數,但是用于字符串尾部刪除等方面的時候 效果還是很不錯的 ''' str_list3=str_list res_list=[] for one_str in str_list3: one_str=one_str.strip('!!!') res_list.append(one_str) print '**************strip替換結果為:*********************' print str_list3 print res_list str_test()
結果如些下:
**************replace替換結果為:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We@are@family$$$', '00@11@22@33@44@55@66@77@88@99', 'trouble@is@a@friend$$$trouble@is@a@friend$$$', '&ove&ove&ove']
**************sub替換結果為:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family$$$', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend$$$Trouble is a friend$$$', 'LoveLoveLove']
**************strip替換結果為:*********************
['We are family!!!', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend!!!', 'LoveLoveLove']
['We are family', '00 11 22 33 44 55 66 77 88 99', 'Trouble is a friend!!!Trouble is a friend', 'LoveLoveLove']
這些東西應該算得上是很順手的小工具了,特別是在一些應用中能起到四兩撥千斤的作用,也許是夸張了哈,但是就是很喜歡這幾個小工具,所以就寫出來分享一下,不足之處還望多多指教,大家共同學習共同進步!
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python字符串操作技巧匯總》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。