傳統固定寬度字串功能#

傳統

此子模組被視為傳統功能,將不再接收更新。這也可能意味著它將在未來的 NumPy 版本中移除。此模組中的字串操作以及 numpy.char.chararray 類別,計劃在未來棄用。請改用 numpy.strings

numpy.char 模組為 numpy.str_numpy.bytes_ 類型的陣列提供了一組向量化的字串操作。例如:

>>> import numpy as np
>>> np.char.capitalize(["python", "numpy"])
array(['Python', 'Numpy'], dtype='<U6')
>>> np.char.add(["num", "doc"], ["py", "umentation"])
array(['numpy', 'documentation'], dtype='<U13')

此模組中的方法基於 string 中的方法

字串操作#

add(x1, x2, /[, out, where, casting, order, ...])

逐元素相加參數。

multiply(a, i)

返回 (a * i),即字串倍數串聯,逐元素。

mod(a, values)

返回 (a % i),即 Python 2.6 之前的字串格式化(插值),對於成對的 str 或 unicode 的 array_like 物件逐元素操作。

capitalize(a)

返回 a 的副本,其中僅將每個元素的第一個字元大寫。

center(a, width[, fillchar])

返回 a 的副本,其元素在長度為 width 的字串中置中。

decode(a[, encoding, errors])

逐元素呼叫 bytes.decode

encode(a[, encoding, errors])

逐元素呼叫 str.encode

expandtabs(a[, tabsize])

返回每個字串元素的副本,其中所有 Tab 字元都替換為一個或多個空格。

join(sep, seq)

返回一個字串,它是序列 seq 中字串的串聯。

ljust(a, width[, fillchar])

返回一個陣列,其中 a 的元素在長度為 width 的字串中靠左對齊。

lower(a)

返回一個陣列,其中的元素轉換為小寫。

lstrip(a[, chars])

對於 a 中的每個元素,返回一個刪除前導字元的副本。

partition(a, sep)

圍繞 sep 分割 a 中的每個元素。

replace(a, old, new[, count])

對於 a 中的每個元素,返回一個字串副本,其中子字串 old 的出現次數替換為 new

rjust(a, width[, fillchar])

返回一個陣列,其中 a 的元素在長度為 width 的字串中靠右對齊。

rpartition(a, sep)

圍繞最右邊的分隔符分割(分割)每個元素。

rsplit(a[, sep, maxsplit])

對於 a 中的每個元素,返回字串中單字的列表,使用 sep 作為分隔符字串。

rstrip(a[, chars])

對於 a 中的每個元素,返回一個刪除尾隨字元的副本。

split(a[, sep, maxsplit])

對於 a 中的每個元素,返回字串中單字的列表,使用 sep 作為分隔符字串。

splitlines(a[, keepends])

對於 a 中的每個元素,返回元素中行的列表,在行邊界處斷開。

strip(a[, chars])

對於 a 中的每個元素,返回一個刪除前導和尾隨字元的副本。

swapcase(a)

逐元素返回字串的副本,其中大寫字元轉換為小寫,反之亦然。

title(a)

逐元素返回字串或 unicode 的標題首字母大寫版本。

translate(a, table[, deletechars])

對於 a 中的每個元素,返回一個字串副本,其中刪除了可選參數 deletechars 中出現的所有字元,並且其餘字元已通過給定的翻譯表進行映射。

upper(a)

返回一個陣列,其中的元素轉換為大寫。

zfill(a, width)

返回用零向左填充的數字字串。

比較#

與標準 numpy 比較運算子不同,char 模組中的運算子在執行比較之前會去除尾隨空白字元。

equal(x1, x2)

逐元素返回 (x1 == x2)。

not_equal(x1, x2)

逐元素返回 (x1 != x2)。

greater_equal(x1, x2)

逐元素返回 (x1 >= x2)。

less_equal(x1, x2)

逐元素返回 (x1 <= x2)。

greater(x1, x2)

逐元素返回 (x1 > x2)。

less(x1, x2)

逐元素返回 (x1 < x2)。

compare_chararrays(a1, a2, cmp, rstrip)

使用 cmp 指定的比較運算子,對兩個字串陣列執行逐元素比較。

字串資訊#

count(a, sub[, start, end])

返回一個陣列,其中包含子字串 sub 在範圍 [start, end] 內不重疊出現的次數。

endswith(a, suffix[, start, end])

返回一個布林值陣列,如果 a 中的字串元素以 suffix 結尾,則為 True,否則為 False

find(a, sub[, start, end])

對於每個元素,返回字串中找到子字串 sub 的最低索引,使得 sub 包含在範圍 [start, end] 內。

index(a, sub[, start, end])

find 類似,但當找不到子字串時會引發 ValueError

isalpha(x, /[, out, where, casting, order, ...])

如果資料中所有字元(解釋為字串)都是字母且至少有一個字元,則為每個元素返回 true,否則返回 false。

isalnum(x, /[, out, where, casting, order, ...])

如果字串中所有字元都是字母數字且至少有一個字元,則為每個元素返回 true,否則返回 false。

isdecimal(x, /[, out, where, casting, ...])

對於每個元素,如果元素中只有十進位字元,則返回 True。

isdigit(x, /[, out, where, casting, order, ...])

如果字串中所有字元都是數字且至少有一個字元,則為每個元素返回 true,否則返回 false。

islower(x, /[, out, where, casting, order, ...])

如果字串中所有區分大小寫的字元都是小寫且至少有一個區分大小寫的字元,則為每個元素返回 true,否則返回 false。

isnumeric(x, /[, out, where, casting, ...])

對於每個元素,如果元素中只有數值字元,則返回 True。

isspace(x, /[, out, where, casting, order, ...])

如果字串中只有空白字元且至少有一個字元,則為每個元素返回 true,否則返回 false。

istitle(x, /[, out, where, casting, order, ...])

如果元素是標題首字母大寫的字串且至少有一個字元,則為每個元素返回 true,否則返回 false。

isupper(x, /[, out, where, casting, order, ...])

如果字串中所有區分大小寫的字元都是大寫且至少有一個字元,則為每個元素返回 true,否則返回 false。

rfind(a, sub[, start, end])

對於每個元素,返回字串中找到子字串 sub 的最高索引,使得 sub 包含在範圍 [start, end] 內。

rindex(a, sub[, start, end])

rfind 類似,但當找不到子字串 sub 時會引發 ValueError

startswith(a, prefix[, start, end])

返回一個布林值陣列,如果 a 中的字串元素以 prefix 開頭,則為 True,否則為 False

str_len(x, /[, out, where, casting, order, ...])

返回每個元素的長度。

方便類別#

array(obj[, itemsize, copy, unicode, order])

建立一個 chararray

asarray(obj[, itemsize, unicode, order])

將輸入轉換為 chararray,僅在必要時複製資料。

chararray(shape[, itemsize, unicode, ...])

提供字串和 unicode 值陣列的方便視圖。