本章函数用于对 dtype 为 numpy.string_ 或 numpy.unicode_ 的数组执行向量化字符串操作。 它们基于 Python 内置库中的标准字符串函数。

这些函数在字符数组类(numpy.char)中定义。

函数 描述
add() 对两个数组的逐个字符串元素进行连接
multiply() 返回按元素多重连接后的字符串
center() 居中字符串
capitalize() 将字符串第一个字母转换为大写
title() 将字符串的每个单词的第一个字母转换为大写
lower() 数组元素转换为小写
upper() 数组元素转换为大写
split() 指定分隔符对字符串进行分割,并返回数组列表
splitlines() 返回元素中的行列表,以换行符分割
strip() 移除元素开头或者结尾处的特定字符
join() 通过指定分隔符来连接数组中的元素
replace() 使用新字符串替换字符串中的所有子字符串
decode() 数组元素依次调用str.decode
encode() 数组元素依次调用str.encode

numpy.char.add()

numpy.char.add() 函数依次对两个数组的元素进行字符串连接。

import numpy as np

print('连接1:',np.char.add(['hello'], [' xyz']))
print('连接1:',np.char.add(['hello', 'hi'], [' abc', ' xyz']))

输出结果为:

连接1: ['hello xyz']
连接1: ['hello abc' 'hi xyz']

 

numpy.char.multiply()

  numpy.char.multiply() 函数执行多重连接。

import numpy as np 

print (np.char.multiply('Runoob ',3))

输出结果为:

Runoob Runoob Runoob

numpy.char.center()

  numpy.char.center() 函数用于将字符串居中,并使用指定字符在左侧和右侧进行填充。

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

  str: 字符串;
  width: 长度;
  fillchar: 填充字符

import numpy as np

print(np.char.center('Runoob', 20, fillchar='*'))

输出结果为:

*******Runoob*******

numpy.char.capitalize()

  numpy.char.capitalize() 函数将字符串的第一个字母转换为大写:

import numpy as np 

print (np.char.capitalize('runoob'))

输出结果为:

Runoob

numpy.char.title()

  numpy.char.title() 函数将字符串的每个单词的第一个字母转换为大写:

import numpy as np

print (np.char.title('i like runoob'))

输出结果为:

I Like Runoob

numpy.char.lower()

  numpy.char.lower() 函数对数组的每个元素转换为小写。它对每个元素调用 str.lower。

import numpy as np 

# 操作数组
print (np.char.lower(['RUNOOB','GOOGLE'])) # 操作字符串
print (np.char.lower('RUNOOB'))

输出结果为:

['runoob' 'google']
runoob

numpy.char.upper()

  numpy.char.upper() 函数对数组的每个元素转换为大写。它对每个元素调用 str.upper。

import numpy as np 

# 操作数组
print (np.char.upper(['runoob','google'])) # 操作字符串
print (np.char.upper('runoob'))

输出结果为:

['RUNOOB' 'GOOGLE']
RUNOOB

numpy.char.split()

numpy.char.split() 通过指定分隔符对字符串进行分割,并返回数组。默认情况下,分隔符为空格。

import numpy as np 

# 分隔符默认为空格
print (np.char.split ('i like runoob?')) # 分隔符为 .
print (np.char.split ('www.runoob.com', sep = '.'))

输出结果为:

['i', 'like', 'runoob?']
['www', 'runoob', 'com']

numpy.char.splitlines()

numpy.char.splitlines() 函数以换行符作为分隔符来分割字符串,并返回数组。

import numpy as np 

# 换行符 \n
print (np.char.splitlines('i\nlike runoob?'))
print (np.char.splitlines('i\rlike runoob?'))

输出结果为:

['i', 'like runoob?']
['i', 'like runoob?']

\n,\r,\r\n 都可用作换行符。

numpy.char.strip()

numpy.char.strip() 函数用于移除开头或结尾处的特定字符。

import numpy as np

# 移除字符串头尾的 a 字符
print (np.char.strip('aspring summer autumn wintera' ,'a')) # 移除数组元素头尾的 a 字符
print (np.char.strip(['aspring' ,'asummer' ,'aautumn','awinter'] ,'a')) # aautumn的2个a全部去掉了

输出结果为:

spring summer autumn winter
['spring' 'summer' 'utumn' 'winter']

 

numpy.char.join()

numpy.char.join() 函数通过指定分隔符来连接数组中的元素或字符串

import numpy as np 

# 操作字符串
print (np.char.join(':','runoob')) # 指定多个分隔符操作数组元素
print (np.char.join([':','-'],['runoob','google']))

输出结果为:

r:u:n:o:o:b
['r:u:n:o:o:b' 'g-o-o-g-l-e']

numpy.char.replace()

numpy.char.replace() 函数使用新字符串替换字符串中的所有子字符串。

import numpy as np 

print (np.char.replace ('i like runoob', 'oo', 'cc'))

输出结果为:

i like runccb

numpy.char.encode()

numpy.char.encode() 函数对数组中的每个元素调用 str.encode 函数。 默认编码是 utf-8,可以使用标准 Python 库中的编解码器。

import numpy as np 

a = np.char.encode('runoob', 'cp500')
print (a)

输出结果为:

b'\x99\xa4\x95\x96\x96\x82'

numpy.char.decode()

numpy.char.decode() 函数对编码的元素进行 str.decode() 解码。

import numpy as np 

a = np.char.encode('runoob', 'cp500')
print (a)
print (np.char.decode(a,'cp500'))

输出结果为:

b'\x99\xa4\x95\x96\x96\x82'
runoob

最新文章

  1. zw.delphi不同版本程序运行速度测试
  2. thinkjs——session
  3. [HDU5904]LCIS(DP)
  4. Web Api 上传图片,解决上传图片无格式
  5. 学习OpenCV——hand tracking手势跟踪
  6. *[codility]Peaks
  7. 进程环境之getrlimit和setrlimit函数
  8. 汽车OBD2诊断程序开发 (原文转载,思路很清晰!)
  9. ubuntu14.04下unix网络编程环境的配置
  10. apache日志介绍
  11. 深入理解shared pool共享池之library cache系列二
  12. c#与c++交互的一些东西
  13. Android中自定义ActionBar的背景色等样式style
  14. SQL Server 内存管理在64位时代的改变
  15. ArcGIS字段计算器分割字段中的字符串
  16. mysql 目录
  17. C# 根据Combobox控件来动态显示TabControl下的子元素
  18. (原创)c++11中 function/lamda的链式调用
  19. Linux运维学习笔记-网络技术知识体系总结
  20. 在Linode VPS上搭建离线下载神器Aria2+WEBUI管理及对国内云盘看法

热门文章

  1. asp.net core 日志记录到elk
  2. Nginx官方文档翻译(转)
  3. 【leetcode-22】括号生成
  4. asp.net core 系列之允许跨域访问-1(Enable Cross-Origin Requests:CORS)
  5. Visual C++ 2010 SP1 x86&x64
  6. 看年薪50W的架构师如何手写一个SpringMVC框架
  7. nodejs npm vue yarn 环境搭建
  8. Java 面向对象(八) 权限修饰符 和 final、native 关键字
  9. oracle 排序后分页查询
  10. Python学习日记(三十八) Mysql数据库篇 六