
簡介NumPy中也有專門處理字符串的方法,這些方法包含在numpy.char 中。 函數(shù) | 描述 |
---|
add() | 對兩個(gè)數(shù)組的逐個(gè)字符串元素進(jìn)行連接 | multiply() | 返回按元素多重連接后的字符串 | center() | 居中字符串 | capitalize() | 將字符串第一個(gè)字母轉(zhuǎn)換為大寫 | title() | 將字符串的每個(gè)單詞的第一個(gè)字母轉(zhuǎn)換為大寫 | lower() | 數(shù)組元素轉(zhuǎn)換為小寫 | upper() | 數(shù)組元素轉(zhuǎn)換為大寫 | split() | 指定分隔符對字符串進(jìn)行分割,并返回?cái)?shù)組列表 | splitlines() | 返回元素中的行列表,以換行符分割 | strip() | 移除元素開頭或者結(jié)尾處的特定字符 | join() | 通過指定分隔符來連接數(shù)組中的元素 | replace() | 使用新字符串替換字符串中的所有子字符串 | decode() | 數(shù)組元素依次調(diào)用str.decode | encode() | 數(shù)組元素依次調(diào)用str.encode |
接下來一一作介紹。 add()函數(shù)該函數(shù)和字符串操作的+ 或者join() 函數(shù)一樣,能夠連接兩個(gè)字符串。 代碼演示: | >>>import numpy as np >>>print(np.char.add('hello ', 'world')) hello world >>>print(np.char.add(['hello ', 'welcome '], ['finthon', 'to my world'])) ['hello finthon' 'welcome to my world'] |
multiply()函數(shù)該函數(shù)可以將指定的字符串重復(fù)n次。 代碼演示: | >>>import numpy as np >>>print(np.char.multiply('finthon ',3)) finthon finthon finthon |
center()函數(shù)該函數(shù)可以將字符串居中對齊,并能指定兩端填充的字符類型。 代碼演示: | >>>import numpy as np >>>print(np.char.center('finthon', 30, fillchar='*')) ***********finthon************ |
在這里我們將字符串'finthon' 居中,兩端通過fillchar 關(guān)鍵字指定填充字符,加起來的總長度為30 。 capitalize()函數(shù)該函數(shù)會(huì)將字符串的第一個(gè)字母大寫。 代碼演示: | >>>import numpy as np >>>print(np.char.capitalize('finthon')) Finthon |
title()函數(shù)該函數(shù)會(huì)將每個(gè)單詞的首字母大寫,變成標(biāo)題的形式。 代碼演示: | >>>import numpy as np >>>print(np.char.title('welcome to my world')) Welcome To My World |
lower()函數(shù)該函數(shù)可以將所有字母變成小寫。 代碼演示: | >>>import numpy as np >>>print(np.char.lower('I liKe FINTHON.com')) i like |
upper()函數(shù)該函數(shù)可以將所有字母變成大寫。 代碼演示: | >>>import numpy as np >>>print(np.char.upper('I liKe FINTHON.com')) I LIKE FINTHON.COM |
split()函數(shù)該函數(shù)可以將字符串分割,默認(rèn)以空格為分隔符,當(dāng)然也可以指定特定的分隔符。 代碼演示: | >>>import numpy as np >>>print(np.char.split('welcome to my website ')) ['welcome', 'to', 'my', 'website', ''] >>>print(np.char.split('i$like$finthon', sep='$')) ['i', 'like', 'finthon'] |
splitlines()函數(shù)該函數(shù)可以用來分割換行符(\n , \r , \r\n )。 代碼演示: | >>>import numpy as np >>>print(np.char.splitlines('hello, world\nmy name is finthon!')) ['hello, world', 'my name is finthon!'] >>>print(np.char.splitlines('this is a test\r for numpy')) ['this is a test', ' for numpy'] >>>print(np.char.splitlines('i like\r\nfinthon')) ['i like', 'finthon'] |
strip()函數(shù)該函數(shù)能夠移除字符串首尾的字符,默認(rèn)為空格。 代碼演示: | >>>import numpy as np >>>print(np.char.strip(' finthon ')) finthon >>>print(np.char.strip('finally finthon', 'f')) inally finthon >>>print(np.char.strip(['finally', 'fif', 'finthon'], 'f')) ['inally' 'i' 'inthon'] |
可以看出不僅可以傳入一個(gè)字符串,還可以傳入一個(gè)列表。傳入列表時(shí),就是對列表中的每個(gè)元素進(jìn)行操作。在這里我們制定去除首尾的'f' 。 join()函數(shù)該函數(shù)可以通過指定的分隔符連接字符串中的每個(gè)元素。 代碼演示: | >>>import numpy as np >>>print(np.char.join('.', 'finthon')) f.i.n.t.h.o.n >>>print(np.char.join(['.', '*'], ['hello', 'world'])) ['h.e.l.l.o' 'w*o*r*l*d'] |
在這里可以傳入字符串或一個(gè)列表。 replace()函數(shù)該函數(shù)能用指定的字符替換原字符串指定的元素。 代碼演示: | >>>import numpy as np >>>print(np.char.replace('I like you', 'you', 'finthon')) I like finthon |
在這里我們傳入一個(gè)字符串'I like you' ,然后選擇使用'finthon' 替換'you ‘。 encode()函數(shù)該函數(shù)可以對字符串進(jìn)行編碼,可以指定編碼的方式,默認(rèn)為utf-8 ,如果對編碼不熟悉的,可以參照Python中編碼解碼過程。 代碼演示: | >>>import numpy as np >>>print(np.char.encode('finthon')) b'finthon' >>>print(np.char.encode('finthon', 'utf-16')) b'\xff\xfef\x00i\x00n\x00t\x00h\x00o\x00n' |
decode()函數(shù)該函數(shù)可以將機(jī)器碼按照指定的方式解碼。 代碼演示: | >>>import numpy as np >>>a = np.char.encode('hello', 'cp500') >>>print(np.char.decode(a, 'cp500')) hello |
總結(jié)本文介紹了NumPy中字符串處理的相關(guān)函數(shù)。字符串在NumPy中的使用也比較少,但是相關(guān)的方法還是和string比較類似,學(xué)習(xí)起來比較簡單。
|