您好,登錄后才能下訂單哦!
本文實(shí)例講述了Python常用字符串替換函數(shù)strip、replace及sub用法。分享給大家供大家參考,具體如下:
今天在做一道今年秋季招聘題目的時(shí)候遇上了一個(gè)替換的問(wèn)題,題目看起來(lái)好長(zhǎng)好復(fù)雜啊,真的,一時(shí)間,我看了好幾遍也沒(méi)看懂,其實(shí)實(shí)質(zhì)很簡(jiǎn)單,就是需要把給定的一個(gè)字符串里面的指定字符替換成一些指定的內(nèi)容就行了,這樣首選當(dāng)然是字典了,沒(méi)有之一,題目很簡(jiǎn)單就不寫(xiě)出來(lái)了,在這里花了一點(diǎn)時(shí)間專門(mén)總結(jié)了一下字符串的替換的幾個(gè)常用的函數(shù),希望也能幫到有需要的人,自己也是當(dāng)做一個(gè)學(xué)習(xí)的記錄,好了,在這里就不多說(shuō)什么了,在代碼中該說(shuō)的都說(shuō)了,直接看程序:
#!/usr/bin/env python # coding:utf-8 import re ''''' 功能:對(duì)常見(jiàn)的幾種字符串處理函數(shù)進(jìn)行測(cè)試使用學(xué)習(xí) 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 ''''' 基本用法:對(duì)象.replace(rgExp,replaceText,max) rgExp和replaceText是必須要有的,max是可選的參數(shù) ''' 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替換結(jié)果為:*********************' print str_list1 print res_list #使用re ''''' re.sub()有5個(gè)參數(shù),三個(gè)必選參數(shù)pattern,repl,string;兩個(gè)可選參數(shù)count,flags re.sub(pattern,repl,string,count,flags) pattern:表示正則表達(dá)式中的模式字符串; repl:被替換的字符串,或者是一個(gè)方法(既可以是字符串,也可以是函數(shù)); 當(dāng)repl為字符串的時(shí)候,也就是需要 將string中與pattern匹配的字符串都替換成repl 當(dāng)repl為方法的時(shí)候,就必須是一個(gè)帶有一個(gè)參數(shù),且參數(shù)為MatchObject類型的方法,該方法需要返回一個(gè)字符串。 string:要被處理的,要被替換的字符串; count:指的是最大的可以被替換的匹配到的字符串的個(gè)數(shù),默認(rèn)為0,就是所有匹配到的字符串。 flgas:標(biāo)志位 ''' 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替換結(jié)果為:*********************' print str_list2 print res_list #使用strip() ''''' 個(gè)人使用strip()很久了,感覺(jué)這個(gè)函數(shù)在一些事比如字符串末尾換行符去除等方面出奇的好用, 它并不算是一個(gè)純正意義上跟上面兩個(gè)函數(shù)類似的字符串處理的函數(shù),但是用于字符串尾部刪除等方面的時(shí)候 效果還是很不錯(cuò)的 ''' str_list3=str_list res_list=[] for one_str in str_list3: one_str=one_str.strip('!!!') res_list.append(one_str) print '**************strip替換結(jié)果為:*********************' print str_list3 print res_list str_test()
結(jié)果如些下:
**************replace替換結(jié)果為:*********************
['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替換結(jié)果為:*********************
['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替換結(jié)果為:*********************
['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']
這些東西應(yīng)該算得上是很順手的小工具了,特別是在一些應(yīng)用中能起到四兩撥千斤的作用,也許是夸張了哈,但是就是很喜歡這幾個(gè)小工具,所以就寫(xiě)出來(lái)分享一下,不足之處還望多多指教,大家共同學(xué)習(xí)共同進(jìn)步!
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。