字符串操作
1 | import numpy as np |
字符串方法
1 | #分割 |
1 | ['a', 'b', ' guido'] |
方法表
方法 | 描述 |
count | 计算各字符出现的次数 |
endswitch | 如果结束子字符串是suffix,则返回True |
startswitch | 如果开始子字符串是prefix,则返回True |
join | 用自身字符串为分隔符,添加一组字符串 |
index | 返回子字符串首字母的index位置,没找到则报错 |
find | 返回子字符串首字母的index位置,没找到则返回-1 |
rfind | 从右边开始查找,返回最末字母的位置 |
replace | 替换 |
strip | 消除两边的空白 |
rstrip | 消除右边的空白 |
lstrip | 消除左边的空白 |
split | 根据分隔符分离 |
lower | 小写 |
upper | 大写 |
casefold | 将字符转换为小写,并将任何特定于区域的变量字符组合转换为通用的可比较形式 |
ljust | 左对齐,并用空格(或其他字符)填充另一侧 |
rjust | 右对齐,并用空格(或其他字符)填充另一侧 |
正则
1 | import re |
findall匹配所有,search只返回第一次匹配,mathc只匹配str的开头
1 | text = """Dave dave@google.com |
1 | ['dave@google.com', 'steve@gmail.com', 'rob@gmail.com', 'ryan@yahoo.com'] |
正则表达式方法
方法 | 说明 |
findall | 匹配所有,返回list |
finditer | 返回的是迭代 |
match | 匹配开头,并且可以分组,匹配不成功返回None |
search | 匹配一次,返回对应的对象,可以匹配任意位置 |
split | 根据regex来切分 |
sub,subn | 代替匹配到的内容,可以用\\1 \\2等来表示group |
矢量化字符串函数
1 | data = {'Dave': 'dave@google.com', 'Steve': 'steve@gmail.com', |
矢量化字符串操作方法
方法 | 描述 |
cat | 选择分隔符进行连接,sep指定分隔符 |
contains | 返回一个bool,确定是否含有所填的子字符串或正则 |
count | 计算子字符串出现次数,pat指定正则或者字符串 |
extract | 使用正则的group,得到一个或多个字符串,并以每个group为列的df |
endswitch | 对每个元素用 x.endswith(pattern) |
startswitch | 对每个元素用 x.startswith(pattern) |
findall | 正则查找所有的元素 |
get | 得到每个元素对应index的值,参数为int,超出index不会报错,返回NaN |
isalnum | 检测是否每个元素是字母和数字组成的 |
isalpha | 检测是否每个元素是字母组成的 |
isdecimal | 检测是否每个元素是数字 |
isdigit | 检测是否每个元素是数字,包含一些特殊数字列如unicode的上下标数字 |
islower | 检测是否每个元素是小写的 |
isnumeric | 检测是否每个元素是数字 |
isupper | 检测是否每个元素是大写的 |
join | 在每个字符串中的每个元素之间添加分隔符 |
len | 计算每个字符串的长度 |
lower,upper | 把每个字符串变大写或小写 |
match | 和正则match一样 |
pad | 给个数字,添加空格到对应的长度,fillchar添加的字符,默认空格;size添加位置,默认left |
center | 等同于pad(size=’both’) |
repeat | 重复次数 |
replace | 替换 |
slice | 切片,start,stop,step |
split | 根据正则或分隔符进行分割 |
strip | 两边去空格 |
rstrip | 左边去空格 |
lstrip | 右边去空格 |
1 | data = {'Dave': 'dave@google.com', 'Steve': 'steve@gmail.com', |
1 | dave@google.com|steve@gmail.com|rob@gmail.com |