Python的替換函式——strip(),replace()和re.sub()
在Python中常用的三個“替換”函式是strip(),replace()和re.sub(),下面來講講這三個函式的用法。
一.replace()
基本用法:物件.replace(rgExp,replaceText,max)
其中,rgExp和replaceText是必須要有的,max是可選的引數,可以不加。
rgExp是指正則表示式模式或可用標誌的正則表示式物件,也可以是 String 物件或文字;replaceText是一個String 物件或字串文字;max是一個數字。對於一個物件,在物件的每個rgExp都替換成replaceText,從左到右最多max次。
下面給出例子:
二.re.sub()
要用sub(),記住要import re哦!
re.sub()有5個函式,三個必選引數pattern,repl,string;兩個可選引數count,flags
re.sub(pattern,repl,string,count,flags)
pattern:表示正則表示式中的模式字串;
repl:被替換的字串(既可以是字串,也可以是函式);
string:要被處理的,要被替換的字串;
count:匹配的次數
呼叫sub()除了可以用re.sub(),還可以如上例子中的c一樣,用re.compile()模式函式。
更多關於re.sub()函式的問題可以看這裡,這個sub()函式的很多資料我都是看這裡的:
http://www.crifan.com/python_re_sub_detailed_introduction
三.strip()
strip()並不是一個真正意義上的替換函式,它是用來刪除一些字元的,所以我們可以把這看作是把字串中的一些字元替換成空(不是空格,是空),有些時候,strip()用起來很方便。
對於這個函式要記住3點:
1.如果我們想要刪除位於首位的其他字元,我們可以用"物件.strip(其他字元)",它將刪除所有包含在“其他字元”中的字元,當然只刪除位於首位的字元。如果首位有空格,就無法刪除這些字元了。
如上圖,因為字串s1中,開頭有空格,所以在替換字元‘0G’的時候沒法替換,而s2因開頭沒有空格,所以能把‘0’和‘G’全部替換了。
2.當引數為空時(即括號裡沒東西),預設刪除空白符(包括'\n', '\r', '\t', ' '),但是隻能刪除開頭和結尾的,不能刪除字串中間的。如下圖:
在這個例子裡,開頭和結尾的空格都被去掉了,但是幾個英文字串間的空格並沒有被去掉,這就是strip()函式的一個缺陷,它並不能刪除字串中間的空格。
3.strip()這個函式還有兩個版:lstrip()和rstrip(),分別是用來刪除開頭的“其他字元”的,如下圖:
以上是我學習的時候的一點小總結,如果你有其他意見或者發現我有什麼是漏掉的知識點歡迎在評論下說一說,謝謝!
文章轉載自:http://blog.csdn.net/zcmlimi/article/details/47709049
如有侵權,敬請告知!!!!!