第三章 使用字符串
3.1 基本字符串操作
所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用,上一章已经讲述了这些操作。
3.2 字符串格式化:精简版
字符串格式化使用字符串格式化操作符——%。
%左侧放置一个字符串,右侧放置希望被格式化的值。
可以使用一个值(字符串、数字),也可以使用多个值的元组或者字典。
一般使用元组。
图1.用元组格式化。
图2.列表不能用于格式化。
如果要格式化实数(浮点数),可以使用f说明转换说明符的类型,同时提供所需要的精度:一个句点再加上希望保留的小数位数。
图3.浮点数的格式化。
--------------------------------------------------------------------------------------------------------------------------------------
模板字符串
string模块提供另外一种格式化的方法:模板字符串。
substitute这个模板方法会用传递进来的关键字参数foo替换字符串的$foo。
图4.substitute方法中的替换。
如果替换的字段是单词的一部分,参数名需要用{}括起来,从而准确地指明结尾。
图5.替换单词的一部分。
当需要插入美元符号的时候,用$$。
除了关键字参数,还可以使用字典变量提供值/名称对。
图6.使用字典变量提供值/名称对。
-------------------------------------------------------------------------------------------------------------------------------
3.3字符串格式化:完整版
3.3.1简单转换
简单转换只需要写出转换类型,使用起来很简单。
3.3.2字段宽度和精度
图7.字段宽度和精度。
3.3.3符号、对齐和用0填充
在宽度和精度之前还可以放置一个标志,可以是0、+、-或者空格。
0表示数字会用0进行填充,-表示左对齐,+表示标识出正负号。
图9.简单地表示。
标志可以同时放置两个、或者三个。
图10.两个以上标志。
另外,也可以同时放置两个以上同样的标志,效果和一个标志是一样的。
3.4字符串方法
3.4.1 find
find方法可以在一个较长的字符串中查找子串。它返回子串所在位置最左端的索引,没找到则返回-1。
3.4.2 join
join方法是非常重要的字符串方法,它是split方法的逆方法,用来连接序列中的元素。另外,被连接的序列中的元素都必须是字符串。
3.4.3 lower
lower方法返回字符串的小写字母版。
3.4.4 replace
replace方法返回某字符串的所有匹配项均被替换之后得到的字符串。
3.4.5 split
这是一个非常重要的字符串方法,它是join的逆方法,用来将字符串分割成序列。
3.4.6 strip
strip方法返回去除【两侧】(不包括内部)空格的字符串。
3.4.7 translate
translate和replace功能类似,不过它只处理单个字符。优点是同时可以进行多次替换。