NumPy字符串处理函数

 
NumPy 提供了许多字符串处理函数,它们被定义在用于处理字符串数组的 numpy.char 这个类中,这些函数的操作对象是 string_ 或者 unicode_ 字符串数组。如下表所示:

NumPy处理字符串数组函数
函数名称 描述
add() 对两个数组相应位置的字符串做连接操作。
multiply()  返回多个字符串副本,比如将字符串“ hello”乘以3,则返回字符串“ hello hello hello”。
center() 用于居中字符串,并将指定的字符,填充在原字符串的左右两侧。
capitalize() 将字符串第一个字母转换为大写。
title() 标题样式,将每个字符串的第一个字母转换为大写形式。
lower() 将数组中所有的字符串的大写转换为小写。
upper()  将数组中所有的字符串的小写转换为大写。
split()  通过指定分隔符对字符串进行分割,并返回一个数组序列,默认分隔符为空格。
splitlines()  以换行符作为分隔符来分割字符串,并返回数组序列。
strip() 删除字符串开头和结尾处的空字符。
join()  返回一个新的字符串,该字符串是以指定分隔符来连接数组中的所有元素。
replace() 用新的字符串替换原数组中指定的字符串。
decode()  用指定的编码格式对数组中元素依次执行解码操作。
encode() 用指定的编码格式对数组中元素依次执行编码操作。

上述函数基于 Python 内置的字符串函数实现, 下面对一些常用函数进行讲解。

numpy.char.add()

numpy.char.add() 将两个数组对应位置的字符串元素进行连接。示例如下:
import numpy as np  
print(np.char.add(['welcome','url'], [' to C net','is c.biancheng.net'] ))  
输出结果:

['welcome to C net' 'url is c.biancheng.net']

numpy.char.multiply()

该函数将指定的字符串进行多次拷贝,并将拷贝结果返回,示例如下:
import numpy as np
print (np.char.multiply('c.biancheng.net',3))
输出结果:

c.biancheng.net c.biancheng.net c.biancheng.net

numpy.char.center()

numpy.char.center() 用于居中字符串,其语法格式如下:

np.char.center(string, width, fillchar) 

 string: 代表字符串,width: 表示长度,fillchar: 要填充的字符
示例:
import numpy as np  
print(np.char.center("c.bianchneg.net", 20, '*'))  
输出如下所示:

**c.bianchneg.net***

numpy.char.capitalize()

numpy.char.capitalize() 将字符串的第一个字母转换为大写,示例如下:
import numpy as np
print (np.char.capitalize('python'))
输出结果:

Python

numpy.char.title()

numpy.char.title() 将字符串数组中每个元素的第一个字母转换为大写,示例如下:
import numpy as np  
print(np.char.title("welcome to china")) 
输出结果

Welcome To China

numpy.char.lower()

numpy.char.lower() 将字符串数组中每个元素转换为小写,示例如下:
import numpy as np  
print(np.char.lower("WELCOME TO MYHOME")) 
输出结果:

welcome to myhome

numpy.char.upper()

numpy.char.upper() 将数组中的每个元素转换为大写,示例如下:
import numpy as np
print(np.char.upper("Welcome To Python")) 
输出结果如下:

WELCOME TO JAVATPOINT

numpy.char.split()

该函数通过指定分隔符对字符串进行分割,并返回数组序列。默认情况下,分隔符为空格。
import numpy as np  
print(np.char.split("Welcome To Python"),sep = " ")  
输出结果

['Welcome', 'To', 'Python']

numpy.char.splitlines() 

numpy.char.splitlines() 以换行符作为分隔符来分割字符串,并返回一个数组序列。
import numpy as np  
print("Splitting the String line by line..") 
print(np.char.splitlines("Welcome\nTo\nPython"))  
输出结果:

['Welcome', 'To', 'Python']

numpy.char.strip() 

numpy.char.strip() 用于移除开头或结尾处的空格。
import numpy as np  
print("原字符串:",str)  
str = "     welcome to Python     " 
print(np.char.strip(str))  
输出结果:
原字符串:      welcome to Python 
welcome to Python

numpy.char.join()

numpy.char.join() 通过指定的分隔符来连接数组中的元素或字符串。
import numpy as np
print (np.char.join(':','Love'))
#也可指定多个分隔符
print (np.char.join([':','-'],['Love','Python']))
输出结果:
L:o:v:e
['L:o:v:e' 'P-y-t-h-o-n']

numpy.char.replace() 

numpy.char.replace() 使用新字符替换字符串中的指定字符。示例如下:
import numpy as np 
str = "Welcome to China" 
print("原字符串:",str) 
#更改后字符串
print(np.char.replace(str, "Welcome to","Hello"))  
输出结果:
原字符串: Welcome to China
Hello China

numpy.char.encode()与decode() 

默认以utf-8 的形式进行编码与解码,示例如下:
import numpy as np 
#cp500国际编码
encode_str = np.char.encode("Welcome to China", 'cp500') 
decode_str =np.char.decode(encode_str, 'cp500') 
print(encode_str) 
print(decode_str)  
输出结果:
b'\xa6\x85\x93\x83\x96\x94\x85@\xa3\x96@\xc3\x88\x89\x95\x81'
Welcome to China