![Python核心编程从入门到开发实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/118/30638118/b_30638118.jpg)
2.5.2 内置的字符串处理函数
字符串拥有多种内置函数,掌握常见的字符串处理函数的使用方法是很有必要的。
1.获取字符串长度函数Ien(str)
len(str)函数用来返回对象(字符串、列表、元组等)的长度或项目个数。其中,str为获取对象。【范例2-29】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/55_3.jpg?sign=1739380509-StErYvetQYeLruixAdZEwXdz8cKTk7uk-0-5ed67bc7d2635f7c0b87f4476733e788)
此函数不仅可以获取字符串的长度,也可以获取其他数据类型的相关信息,如列表的元素个数和元组的成员个数。
2.字符串的大小写转换
在字符串的日常使用中,通常对字母的大小写有着严格的要求。下面简单介绍几个字符串大小写转换的相关函数。
如果需要将字符串进行大小写转换,那么可以使用str.upper()和str.lower()函数。【范例2-30】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_1.jpg?sign=1739380509-d2TfiVc9YHiO4TKphWNn9xJS8CiVbCWD-0-f5d436981da6269976240940fce6df0c)
如果需要进行大小写互换,则可以使用str.swapcase()函数。【范例2-31】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_2.jpg?sign=1739380509-IKweKmdMittHiFZ7wN3AR41oC6x4QA8G-0-dcd01941d4fcf6fab8255bc2f5a2404d)
在英文书写中,有时需要将句子的第一个字母大写,此时可以使用str.capitalize()和str.title()函数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_3.jpg?sign=1739380509-yYdrrByB3PQtJbVPdKbrIC4meWJyZVei-0-dccb96ef944ece3dc0a2245287327450)
3.字符串的查找
搜索相关字符串是程序中必不可少的功能。下面列举几个基础的字符串查找函数。
str.find(sub[,start[,end]])函数是基础的字符串查找函数,其使用方式也很灵活。
如果在字符串中未查找到指定字符,会返回-1;否则返回指定字符第一次出现位置的序列。第一个字符序列为0。
如果此时仅指定查找字符,其他参数默认,则函数默认从字符串左侧开始查找,直至字符串结束。代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_4.jpg?sign=1739380509-B7zNyh73Z0PdkMqf74lOguNVKYXwMto8-0-5e91041ffbffed9c31c2dfeabde85fc0)
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_1.jpg?sign=1739380509-ccM0fx8lK3h19YJDwRq0kk4fhETswBpa-0-2cc9bd893e5886e0e56a5b0006242027)
也可以指定查找开始和结束的字符位置,使查找更加灵活。格式为:str.find(需要查找的字符,开始位置,结束位置)。【范例2-32】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_2.jpg?sign=1739380509-mR91DUNKsHCdHEytlzGfOSW3T4EAC4pt-0-1a6bd851e769f9c904d511bcd1755e74)
若同时指定查找开始和结束的字符位置,则只包含开始的序列,不包含结束的序列。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_3.jpg?sign=1739380509-1ouK5CxqfcpPqqnP8WYa6F5qlNv0aaef-0-f54c4f525d9769736c0fa7e3ff5c5d5f)
还可以使用str.rfind(sub[,start[,end]])函数从字符串右侧开始查找。此时,返回值仍为第一次查找到的字符序列。总体用法和str.find(sub[,start[,end]])函数的用法相同。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_4.jpg?sign=1739380509-p2Wk9lSlckNtHN7uNvRaRSlpKEo07pjn-0-fb3e7188806fadbc73c9aed1757b1d4e)
此外,还有count()函数,用于统计字符串中指定字符出现的次数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_5.jpg?sign=1739380509-yB09AByovL6yQSyxrDNLI8UKYG8VHJvC-0-ce4a436ad309c8c4d2493781e8d5379d)
4.字符串的替换
字符串的替换功能可以方便用户进行字符串的管理和编辑。下面列举几个简单的字符串替换函数。
str.replace()函数是一个灵活的替换函数,可以指定替换的对象和替换的次数。
在下面的代码中,第2行指定了用'*'替换字符串中的字符'i';在第4行中添加了参数1,表示仅进行一次替换。默认从字符串左侧开始进行替换。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_1.jpg?sign=1739380509-ibRT55NF8SKbzfNZ0DIlXEA5QNcBa0hz-0-1644cd4b323ce6b4f8b8c9ffd4342302)
strip()函数用于移除字符串头尾指定的字符,默认移除空格。下述代码第2行表示移除字符串中的'cmowz.'字符。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_2.jpg?sign=1739380509-eyRSMOCaWYyTaOqyPg3q5TS0QVuNPurF-0-4080d1ff2a486b006b26ec67ec402808)
strip()函数还可用于移除空格,默认移除字符串两侧的空格。还可以指定方向,如lstrip()表示移除字符串左侧的空格,rstrip()表示移除字符串右侧的空格。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_3.jpg?sign=1739380509-dgCIWdTjfUo72EKaa5jDhj4fjsiCVr3J-0-07766a6ff58f48c0ba3e346c24c65325)