溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python數(shù)據(jù)清洗容易遇到的函數(shù)re.sub bytes string的示例分析

發(fā)布時(shí)間:2021-09-07 09:41:51 來(lái)源:億速云 閱讀:129 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)python數(shù)據(jù)清洗容易遇到的函數(shù)re.sub bytes string的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

re.sub

功能,比replace強(qiáng)大的替換函數(shù),將正則表達(dá)式匹配上的模塊替換成repl

re.sub(pattern, repl, string, count=0, flags=0)

返回最左邊正則表達(dá)式限定的被repl代替的字符串,如果正則表達(dá)式?jīng)]有匹配上,則字符串不做修改。

\n is converted to a single newline character,

\r is converted to a carriage return, and so forth. Unknown escapes such as \j are left alone. 如果后面跟的是數(shù)字 such as \6, 則替換第6組字符串,group 6 in the pattern. For example:

>>>
>>> re.sub(r'def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):',
...  r'static PyObject*\npy_\1(void)\n{',
...  'def myfunc():')
'static PyObject*\npy_myfunc(void)\n{'

如果repl是一個(gè)函數(shù),則會(huì)對(duì)每個(gè)不重疊的模式發(fā)生調(diào)用。 該函數(shù)采用單個(gè)匹配對(duì)象參數(shù),并返回替換字符串。 例如:

>>>
>>> def dashrepl(matchobj):
...  if matchobj.group(0) == '-': return ' '
...  else: return '-'
>>> re.sub('-{1,2}', dashrepl, 'pro----gram-files')
'pro--gram files'
>>> re.sub(r'\sAND\s', ' & ', 'Baked Beans And Spam', flags=re.IGNORECASE)
'Baked Beans & Spam'

模板可以是一個(gè)字符串或者RE對(duì)象

count是最大替換個(gè)數(shù),非負(fù)整數(shù),如果省略或者取0則全文檔都被匹配替換;

class bytes([source[, encoding[, errors]]])

返回一個(gè)新的數(shù)組對(duì)象,這個(gè)數(shù)組對(duì)象不能對(duì)數(shù)組元素進(jìn)行修改。每個(gè)元素值范圍: 0 <= x < 256。bytes函數(shù)與bytearray函數(shù)主要區(qū)別是bytes函數(shù)產(chǎn)生的對(duì)象的元素不能修改,而bytearray函數(shù)產(chǎn)生的對(duì)象的元素可以修改。因此,除了可修改的對(duì)象函數(shù)跟bytearray函數(shù)不一樣之外,其它使用方法全部是相同的。最后它的參數(shù)定義方式也與bytearray函數(shù)是一樣的。

實(shí)例

a = bytes("abs",'utf-8')

print(a)
b'abs'

b = bytes(1)

print(b)
b'\x00'

class bytearray([source[, encoding[, errors]]])

返回一個(gè)新的字節(jié)數(shù)組。 bytearray類是0 <= x <256的整數(shù)可變序列。它具有可變序列類型中描述的可變序列的大多數(shù)常用方法,以及字節(jié)類型具有的大多數(shù)方法,請(qǐng)參見字節(jié)和 Bytearray操作。

可選的源參數(shù)可用于以幾種不同的方式初始化數(shù)組:

如果是字符串,還必須給出編碼(和可選的錯(cuò)誤)參數(shù); bytearray()然后使用str.encode()將字符串轉(zhuǎn)換為字節(jié)。

如果它是整數(shù),則數(shù)組將具有該大小,并且將以空字節(jié)初始化。

如果是符合緩沖區(qū)接口的對(duì)象,則將使用對(duì)象的只讀緩沖區(qū)來(lái)初始化字節(jié)數(shù)組。

如果它是一個(gè)可迭代的,它必須是0 <= x <256的整數(shù)的迭代,它們被用作數(shù)組的初始內(nèi)容。

沒(méi)有參數(shù),將創(chuàng)建一個(gè)大小為0的數(shù)組。

bytes.strip([chars]) & bytearray.strip([chars])

返回刪除指定的前導(dǎo)和尾部字節(jié)的序列副本。 chars參數(shù)是指定要?jiǎng)h除的字節(jié)值集的二進(jìn)制序列 - 該名稱是指通常使用ASCII字符的方法。 如果省略或無(wú),則chars參數(shù)默認(rèn)為刪除ASCII空格。 chars參數(shù)不是前綴或后綴; 相反,其值的所有組合都被剝離:

> b' spacious '.strip()
b'spacious'
> b'www.example.com'.strip(b'cmowz.')
b'example'

string.punctuation

在C語(yǔ)言環(huán)境中被視為標(biāo)點(diǎn)符號(hào)的ASCII字符串

感謝各位的閱讀!關(guān)于“python數(shù)據(jù)清洗容易遇到的函數(shù)re.sub bytes string的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI