2.3.5 字符串库 string
和数学库 math 一样,Python 还提供了字符串库 string,以支持更复杂的字符串操作。 为了使用 string 中的函数,必须先导入该模块。回忆一下,模块有两种导入方式:
import string
from string import *
它们的区别在于调用函数时是否需要加上模块名作为前缀。 模块 string 中的一些常用函数如下表所示:
函数 | 含义 |
---|---|
capitalize(s) | 将 s 的首字母改成大写 |
capwords(s) | 将 s 中的每个单词的首字母改成大写 |
center(s,width) | 将 s 扩展到给定宽度,且 s 居中 |
count(s,sub) | 子串 sub 在 s 中出现的次数 |
find(s,sub) | 求子串 sub 在 s 中首次出现的位置 |
join(list) | 将列表 list 中的所有字符串合并成一个字符串 |
ljust(s,width) | 将 s 扩展到给定宽度,且 s 居左(左对齐) |
lower(s) | 将 s 的所有字母改成小写 |
lstrip(s) | 将 s 的所有前导空格删去 |
replace(s,sub,newsub) | 将 s 中所有子串 sub 替换成 newsub |
rfind(s,sub) | 求子串 sub 在 s 中最后一次出现的位置 |
rjust(s,width) | 将 s 扩展到给定宽度,且 s 居右(右对齐) |
rstrip(s) | 将 s 的所有尾部空格删去 |
split(s) | 将 s 拆分成子串的列表 |
upper(s) | 将 s 的所有字母改成大写 |
表 2.5 string 库中的一些函数
下面是几个简单的例子:
>>> from string import *
>>> capwords("hello world!")
'Hello World!'
>>> count("知之为知之不知为不知","不知")
2
>>> find("知之为知之不知为不知","不知")
10
>>> rfind("知之为知之不知为不知","不知")
16
>>> print replace("知之为知之不知为不知","知","zhi")
zhi 之为 zhi 之不 zhi 为不 zhi