1. 程式人生 > 實用技巧 >python的替換函式strip(),replace()和re.sub()例項分析

python的替換函式strip(),replace()和re.sub()例項分析

前記:

  python是一個非常好用的語言,能夠幫忙處理很多日常的耗費體力的事情。今天做一個指令碼的時候,遇到了python替換的問題,這裡就梳理一下知識點吧。

概念:

1.replace()

基本用法:物件.replace(rgExp,replaceText,max)

其中,rgExp和replaceText是必須要有的,max是可選的引數,可以不加。
rgExp是指 String 物件或文字;replaceText是一個String 物件或字串文字;max是一個數字。對於一個物件,在物件的每個rgExp都替換成replaceText,從左到右最多max次。

2. re.sub

re.sub()有5個函式,三個必選引數pattern,repl,string;兩個可選引數count,flags

re.sub(pattern,repl,string,count)

pattern:表示正則表示式中的模式字串;

repl:被替換的字串(既可以是字串,也可以是函式);

string:要被處理的,要被替換的字串;

count:匹配的次數

3.strip()

strip()並不是一個真正意義上的替換函式,它是用來刪除一些字元的,所以我們可以把這看作是把字串中的一些字元替換成空(不是空格,是空。)

某些場景,strip()用起來很方便。

例項:

bytes是python中最常用的最基本的資料,這裡給出一個基於bytes的例項分析:

1 replace例項:

byte=b'\x01\x02\n\x03\x04\r\x05\x06'

data=byte.replace(b'\n',b'')
print("data is:")
print(data)

data1=data.replace(b'\r',b'')
print("data1 is:")
print(data1)

輸出結果:

data is:
b'\x01\x02\x03\x04\r\x05\x06'
data1 is:
b'\x01\x02\x03\x04\x05\x06'

2 re.sub例項

例項:

import re

byte=b'\x01\x02\n\x03\x04\r\x05\x06\n
' data=re.sub(b'\n',b'',byte) print("data is:") print(data) data1=re.sub(b'\r',b'',data) print("data1 is:") print(data1)

輸出結果:

同上

3 strip()例項

byte=b'\n\x01\x02\n\x03\x04\r\x05\x06\r'

data=byte.strip(b'\n')
print("data is:")
print(data)

data1=data.strip(b'\r')
print("data1 is:")
print(data1)
~                   

輸出結果:

data is:
b'\x01\x02\n\x03\x04\r\x05\x06\r'
data1 is:
b'\x01\x02\n\x03\x04\r\x05\x06'

這裡可以看出,strip同時去掉左右兩邊的過濾條件,中間的不會被刪除,這個要注意一下。

總結:

  總結一下,下次就不會忘記了。