![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=1739129225-j8tcbF8o3j6z3AFl882rCoyhXceUcgTP-0-ff220b2a51956d072c7091bcbd1983ac)
此函数不仅可以获取字符串的长度,也可以获取其他数据类型的相关信息,如列表的元素个数和元组的成员个数。
2.字符串的大小写转换
在字符串的日常使用中,通常对字母的大小写有着严格的要求。下面简单介绍几个字符串大小写转换的相关函数。
如果需要将字符串进行大小写转换,那么可以使用str.upper()和str.lower()函数。【范例2-30】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_1.jpg?sign=1739129225-1AOQtf4JcHkJOZBRHHZUPGsdyYaURwoU-0-bbe0d61179ef753c0440ed5caa76fbf7)
如果需要进行大小写互换,则可以使用str.swapcase()函数。【范例2-31】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_2.jpg?sign=1739129225-LNxLxOUm69SIhvzi5K6MHmEt85U6htEO-0-b5396bd0fd84548d9ad3d30deb79c7b5)
在英文书写中,有时需要将句子的第一个字母大写,此时可以使用str.capitalize()和str.title()函数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_3.jpg?sign=1739129225-4ExXnIjFHCZOU14ccccqfJ5fz8kvIsKT-0-4d85495be017deaf0d993bbf5cdbb64d)
3.字符串的查找
搜索相关字符串是程序中必不可少的功能。下面列举几个基础的字符串查找函数。
str.find(sub[,start[,end]])函数是基础的字符串查找函数,其使用方式也很灵活。
如果在字符串中未查找到指定字符,会返回-1;否则返回指定字符第一次出现位置的序列。第一个字符序列为0。
如果此时仅指定查找字符,其他参数默认,则函数默认从字符串左侧开始查找,直至字符串结束。代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_4.jpg?sign=1739129225-uidM3dIq1oyZfwsuIIqb2OTm1x065oMv-0-faf378397ce3810a2fab0a0d63c06bc3)
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_1.jpg?sign=1739129225-xPCkJjFouTnXQEQ2zWZ2JApNowuKRXpO-0-bb4db5fd564d7be16d9dc48400879eca)
也可以指定查找开始和结束的字符位置,使查找更加灵活。格式为:str.find(需要查找的字符,开始位置,结束位置)。【范例2-32】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_2.jpg?sign=1739129225-7EIbuZyvri1UgPpPUXpJL86bw3U3fQDn-0-7c036beba1553192de042217b55d19b9)
若同时指定查找开始和结束的字符位置,则只包含开始的序列,不包含结束的序列。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_3.jpg?sign=1739129225-3pnD4NzBiSvO2CAqmHrxb2K87un7dZXH-0-889b8817138cc21bc279e1b630d47dd3)
还可以使用str.rfind(sub[,start[,end]])函数从字符串右侧开始查找。此时,返回值仍为第一次查找到的字符序列。总体用法和str.find(sub[,start[,end]])函数的用法相同。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_4.jpg?sign=1739129225-yWZoZLT0TO4woJk3BMEvefgKiktGFKLI-0-4251358357ce4a7dceb9e1400afac2b7)
此外,还有count()函数,用于统计字符串中指定字符出现的次数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_5.jpg?sign=1739129225-hJM0b5uOEv4ULCuxjgJvf0j9GiWlnBfe-0-a20e3729ff4e794200a177d35c19743f)
4.字符串的替换
字符串的替换功能可以方便用户进行字符串的管理和编辑。下面列举几个简单的字符串替换函数。
str.replace()函数是一个灵活的替换函数,可以指定替换的对象和替换的次数。
在下面的代码中,第2行指定了用'*'替换字符串中的字符'i';在第4行中添加了参数1,表示仅进行一次替换。默认从字符串左侧开始进行替换。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_1.jpg?sign=1739129225-zorOa57nrPaXL3n4eM8o5alLLF96mcx5-0-bb42703b286dab8bed332a13daa499aa)
strip()函数用于移除字符串头尾指定的字符,默认移除空格。下述代码第2行表示移除字符串中的'cmowz.'字符。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_2.jpg?sign=1739129225-a723ek5r7rne3rI851ZfweUU5EvRIVpa-0-d7a74122de6fe8f98b38ed2afe0eccd7)
strip()函数还可用于移除空格,默认移除字符串两侧的空格。还可以指定方向,如lstrip()表示移除字符串左侧的空格,rstrip()表示移除字符串右侧的空格。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_3.jpg?sign=1739129225-6rsTq5Ek3mbd6LzbDtCSnIXDMn40zx9h-0-58bb48a23f8c06f4425d4435ad15d324)