Python字符串操作

《Python for Data Analysis》

Python 字符串对象方法

方法说明
count返回子串在字符串中出现次数
endswith 、startwith如果字符串以某个后缀结尾或前缀开头,返回True
join连接其他字符串序列的分隔符
index返回子串第一个字符所在位置,如果没有,ValueError
find返回子串第一次发现的第一个字符所在的位置,如果没有,返回-1
rfind返回子串最后一个发现的子串的第一个字符的位置,如果没有,返回-1
replace用另一个字符串替换指定子串
strip 、rstrip、lstrip去除空白符
split通过指定的分隔符将字符串拆分为一组子串
lower、upper将字母字符转换为小写或大写
ljust、rjust用空格填充字符串的空白侧以返回符合最低宽度的字符串
In [32]: val = 'a,b, guido'

In [33]: val.split(',')
Out[33]: ['a', 'b', ' guido']

In [34]: pieces = [x.strip() for x in val.split(',')]

In [35]: pieces
Out[35]: ['a', 'b', 'guido']

In [36]: first, second, third = pieces

In [37]: first + '::' + second + '::' + third
Out[37]: 'a::b::guido'

In [38]: '::'.join(pieces)
Out[38]: 'a::b::guido'

In [39]: 'guido' in val
Out[39]: True

In [40]: val.index(',')
Out[40]: 1

In [41]: val.find(':')
Out[41]: -1

In [42]: val.count(',')
Out[42]: 2

In [43]: val.replace(',', '::')
Out[43]: 'a::b:: guido'

正则表达式

方法说明
findall、finditer返回字符串中所有非重叠匹配模式。findall返回的是由所有模式组成的列表,而finditer返回一个迭代器
match从字符串起始位置匹配模式,还可以对模式各个部分进行分组。如果匹配到模式,返回一个匹配项对象,否则返回None
search扫描整个字符串以匹配模式。
split根据找到的模式将字符串拆分为数段
sub、subn将字符串中所有的sub和前n个subn模式替换为指定表达式。在替换字符串中可以通过\1、\2等符号表示各分组项。
In [44]: import re

In [45]: text = "foo   bar  \t baz  \tqux"

In [46]: text
Out[46]: 'foo   bar  \t baz  \tqux'

In [47]: re.split('\s+', text)
Out[47]: ['foo', 'bar', 'baz', 'qux']

In [48]: regex = re.compile('\s+')

In [49]: regex.split(text)
Out[49]: ['foo', 'bar', 'baz', 'qux']

In [50]: regex.findall(text)
Out[50]: ['   ', '  \t ', '  \t']

注: 如果打算对许多字符串应用同一条正则表达式,强烈建议通过re.compile创建regex对象。这样可以节省大量的CPU时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值