Python常用字符串替換函數(shù)strip、replace及sub用法示例
本文實(shí)例講述了Python常用字符串替換函數(shù)strip、replace及sub用法。分享給大家供大家參考,具體如下:
今天在做一道今年秋季招聘題目的時(shí)候遇上了一個(gè)替換的問題,題目看起來好長好復(fù)雜啊,真的,一時(shí)間,我看了好幾遍也沒看懂,其實(shí)實(shí)質(zhì)很簡(jiǎn)單,就是需要把給定的一個(gè)字符串里面的指定字符替換成一些指定的內(nèi)容就行了,這樣首選當(dāng)然是字典了,沒有之一,題目很簡(jiǎn)單就不寫出來了,在這里花了一點(diǎn)時(shí)間專門總結(jié)了一下字符串的替換的幾個(gè)常用的函數(shù),希望也能幫到有需要的人,自己也是當(dāng)做一個(gè)學(xué)習(xí)的記錄,好了,在這里就不多說什么了,在代碼中該說的都說了,直接看程序:
#!/usr/bin/env python # coding:utf-8 import re ''''' 功能:對(duì)常見的幾種字符串處理函數(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()很久了,感覺這個(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è)小工具,所以就寫出來分享一下,不足之處還望多多指教,大家共同學(xué)習(xí)共同進(jìn)步!
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python字符串操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
pandas的相關(guān)系數(shù)與協(xié)方差實(shí)例
今天小編就為大家分享一篇pandas的相關(guān)系數(shù)與協(xié)方差實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python3實(shí)現(xiàn)取圖片中特定的像素替換指定的顏色示例
這篇文章主要介紹了Python3實(shí)現(xiàn)取圖片中特定的像素替換指定的顏色,涉及Python3針對(duì)圖片文件的讀取、轉(zhuǎn)換、生成等相關(guān)操作技巧,需要的朋友可以參考下2019-01-01python dataprep庫簡(jiǎn)化加速數(shù)據(jù)科學(xué)操作
這篇文章主要為大家介紹了python dataprep庫簡(jiǎn)化加速數(shù)據(jù)科學(xué)操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python編程scoketServer實(shí)現(xiàn)多線程同步實(shí)例代碼
這篇文章主要介紹了Python編程scoketServer實(shí)現(xiàn)多線程同步實(shí)例代碼,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01