2.3.5 字符串库 string

和数学库 math 一样,Python 还提供了字符串库 string,以支持更复杂的字符串操作。 为了使用 string 中的函数,必须先导入该模块。回忆一下,模块有两种导入方式:

  1. import string
  2. 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 库中的一些函数

下面是几个简单的例子:

  1. >>> from string import *
  2. >>> capwords("hello world!")
  3. 'Hello World!'
  4. >>> count("知之为知之不知为不知","不知")
  5. 2
  6. >>> find("知之为知之不知为不知","不知")
  7. 10
  8. >>> rfind("知之为知之不知为不知","不知")
  9. 16
  10. >>> print replace("知之为知之不知为不知","知","zhi")
  11. zhi 之为 zhi 之不 zhi 为不 zhi