6.2.1 字符串

关于字符串数据,第 2 章已经详细介绍过对字符串的基本操作,以及利用字符串库 string 提供的函数来实现更丰富的操作。这里我们再介绍另一种处理方式,即面向对象的方式。 Python 中,每个字符串实际上都是一个对象,因而可以通过向字符串对象发送方法请求的方式来实现对字符串的操作。表 6.2 列出了字符串对象的一些常用方法,并将对应的 string

库函数(参见表 2.5)列在一起以供比较。

字符串对象方法 string 库函数 含义
s.capitalize() capitalize(s) s 首字母大写
s.center(width) center(s,width) s 扩展到给定宽度且 s 居中
s.count(sub) count(s,sub) sub 在 s 中出现的次数
s.find(sub) find(s,sub) sub 在 s 中首次出现的位置
s.ljust(width) ljust(s,width) s 扩展到给定宽度且 s 居左
s.lower() lower(s) 将 s 的所有字母改成小写
s.lstrip() lstrip(s) 将 s 的所有前导空格删去
s.replace(old,new) replace(s,old,new) 将 s 中所有 old 替换成 new
s.rfind(sub) rfind(s,sub) sub 在 s 中最后一次出现的位置
s.rjust(width) rjust(s,width) s 扩展到给定宽度且 s 居右
s,rstrip() rstrip(s) 将 s 的所有尾部空格删去
s.split() split(s) 将 s 拆分成子串的列表
s.upper() upper(s) 将 s 的所有字母改成大写

表 6.2 字符串对象的方法

不要忘了,字符串数据是不可修改的,因此表 6.2 中没有修改字符串 s 的方法。 下面通过一些例子来演示字符串对象的方法的使用。

>>> s = "I think, therefore I am."
>>> s.count('I')
2
>>> s.find('re')
12
>>> (s.lower()).replace('i','I')
'I thInk, therefore I am.'
>>> s.split()
['I', 'think,', 'therefore', 'I', 'am.']
>>> s.islower()
False