字符串方法——实战中的其它常见字符串方法 | 第二部分 类型与操作 —— 第 7 章: 字符串基础 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-江南app体育官方入口
其它的字符串方法有更专注的作用——比如,在一行文本的末尾去除空白,执行大小写转换,测试内容,测试在头尾的子串:
>>> line = "the knights who say ni!\n"
>>> line.rstrip()
'the knights who say ni!'
>>> line.upper()
'the knights who say ni!\n'
>>> line.isalpha()
false
>>> line.endswith('ni!\n')
true
>>> line.startswith('the')
true
其它技术有时也可被用来达到和字符串方法同样的结果——比如,in
操作符可用来测试子串的存在,length
和切片操作可用来模拟endswith
:
>>> line
'the knights who say ni!\n'
>>> line.find('ni') != −1 # 通过方法调用或表达式搜索
true
>>> 'ni' in line
true
>>> sub = 'ni!\n'
>>> line.endswith(sub) # 通过方法调用或切片的结尾测试
true
>>> line[-len(sub):] == sub
true
另请参阅在本章后面描述的format
字符串格式化方法;它提供了将许多操作结合在一个步骤中的更多高级替换工具。
再说一次,因为有许多可用的字符串方法,这里不会学习每一个。本书稍后将看到一些额外的字符串示例,但要获取更多细节,可以参阅python库手册和其他的文档源,或简单地亲自交互实验。还可以对任何字符串对象s的方法使用help(s.method)
,检查其结果来获取更多提示;如第4章所示,在str.method
上运行help
很可能给出同样的细节。
注意字符串方法不接受模式——对于基于模式的文本处理,必须使用python的re
标准库模块,这是在第4章中引入的一个高级工具,但很可能超出了本书的范围(一个更进一步的简短例子出现在第37章末尾)。然而,因为这个限制,字符串方法有时可能比re
模块的工具运行得更快。