
2.5.2 内置的字符串处理函数
字符串拥有多种内置函数,掌握常见的字符串处理函数的使用方法是很有必要的。
1.获取字符串长度函数Ien(str)
len(str)函数用来返回对象(字符串、列表、元组等)的长度或项目个数。其中,str为获取对象。【范例2-29】代码如下:

此函数不仅可以获取字符串的长度,也可以获取其他数据类型的相关信息,如列表的元素个数和元组的成员个数。
2.字符串的大小写转换
在字符串的日常使用中,通常对字母的大小写有着严格的要求。下面简单介绍几个字符串大小写转换的相关函数。
如果需要将字符串进行大小写转换,那么可以使用str.upper()和str.lower()函数。【范例2-30】代码如下:

如果需要进行大小写互换,则可以使用str.swapcase()函数。【范例2-31】代码如下:

在英文书写中,有时需要将句子的第一个字母大写,此时可以使用str.capitalize()和str.title()函数。

3.字符串的查找
搜索相关字符串是程序中必不可少的功能。下面列举几个基础的字符串查找函数。
str.find(sub[,start[,end]])函数是基础的字符串查找函数,其使用方式也很灵活。
如果在字符串中未查找到指定字符,会返回-1;否则返回指定字符第一次出现位置的序列。第一个字符序列为0。
如果此时仅指定查找字符,其他参数默认,则函数默认从字符串左侧开始查找,直至字符串结束。代码如下:


也可以指定查找开始和结束的字符位置,使查找更加灵活。格式为:str.find(需要查找的字符,开始位置,结束位置)。【范例2-32】代码如下:

若同时指定查找开始和结束的字符位置,则只包含开始的序列,不包含结束的序列。

还可以使用str.rfind(sub[,start[,end]])函数从字符串右侧开始查找。此时,返回值仍为第一次查找到的字符序列。总体用法和str.find(sub[,start[,end]])函数的用法相同。

此外,还有count()函数,用于统计字符串中指定字符出现的次数。

4.字符串的替换
字符串的替换功能可以方便用户进行字符串的管理和编辑。下面列举几个简单的字符串替换函数。
str.replace()函数是一个灵活的替换函数,可以指定替换的对象和替换的次数。
在下面的代码中,第2行指定了用'*'替换字符串中的字符'i';在第4行中添加了参数1,表示仅进行一次替换。默认从字符串左侧开始进行替换。

strip()函数用于移除字符串头尾指定的字符,默认移除空格。下述代码第2行表示移除字符串中的'cmowz.'字符。

strip()函数还可用于移除空格,默认移除字符串两侧的空格。还可以指定方向,如lstrip()表示移除字符串左侧的空格,rstrip()表示移除字符串右侧的空格。
