- Python核心编程从入门到开发实战
- 朱红庆
- 966字
- 2020-08-27 18:33:04
2.5.2 内置的字符串处理函数
字符串拥有多种内置函数,掌握常见的字符串处理函数的使用方法是很有必要的。
1.获取字符串长度函数Ien(str)
len(str)函数用来返回对象(字符串、列表、元组等)的长度或项目个数。其中,str为获取对象。【范例2-29】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/55_3.jpg?sign=1739548385-pXlnnzfPhV85WM53Y5dOOSyUANskUGjE-0-47b7f163d5ba4df24f8194a2cf2f6b3c)
此函数不仅可以获取字符串的长度,也可以获取其他数据类型的相关信息,如列表的元素个数和元组的成员个数。
2.字符串的大小写转换
在字符串的日常使用中,通常对字母的大小写有着严格的要求。下面简单介绍几个字符串大小写转换的相关函数。
如果需要将字符串进行大小写转换,那么可以使用str.upper()和str.lower()函数。【范例2-30】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_1.jpg?sign=1739548385-Rj3gDPTw9wy2qLcmK8Iiiy2NA7k99cH8-0-05c4851a8eeac9ea82631c6bc0fc96f9)
如果需要进行大小写互换,则可以使用str.swapcase()函数。【范例2-31】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_2.jpg?sign=1739548385-F2B6J6SZLuvyKsnx2I5XRZl16ZvNRzXs-0-4a4acd0c03a14557ef9a6464aa2489b5)
在英文书写中,有时需要将句子的第一个字母大写,此时可以使用str.capitalize()和str.title()函数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_3.jpg?sign=1739548385-NeWSvMYKjt1N0uGzPgpW2ZniKnhOVZoV-0-4d4bfee619ee14cfcf134e7bde958a09)
3.字符串的查找
搜索相关字符串是程序中必不可少的功能。下面列举几个基础的字符串查找函数。
str.find(sub[,start[,end]])函数是基础的字符串查找函数,其使用方式也很灵活。
如果在字符串中未查找到指定字符,会返回-1;否则返回指定字符第一次出现位置的序列。第一个字符序列为0。
如果此时仅指定查找字符,其他参数默认,则函数默认从字符串左侧开始查找,直至字符串结束。代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/56_4.jpg?sign=1739548385-5BXKbDVD26PesdZSvCWfIetQsFsbhqwa-0-5de9fc63c0f5d46b8bfc970d2e3c1fe9)
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_1.jpg?sign=1739548385-1JbEavbk19eaWhik1jwND9VyJzZ39pxC-0-7efeeb160cfdc7cfd37531d7cb4bafba)
也可以指定查找开始和结束的字符位置,使查找更加灵活。格式为:str.find(需要查找的字符,开始位置,结束位置)。【范例2-32】代码如下:
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_2.jpg?sign=1739548385-rIJIF4PQwoW19Pnt3GMFZJnZbhqWHOvm-0-c45d20f6c8837b9cdb6ec8b3b47fb74a)
若同时指定查找开始和结束的字符位置,则只包含开始的序列,不包含结束的序列。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_3.jpg?sign=1739548385-17yYi5lFnm2XUUh4TygV3Sz4lj99Kcb7-0-14905ecf06aa502ef5fa868bee64ac01)
还可以使用str.rfind(sub[,start[,end]])函数从字符串右侧开始查找。此时,返回值仍为第一次查找到的字符序列。总体用法和str.find(sub[,start[,end]])函数的用法相同。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_4.jpg?sign=1739548385-bO8dJLuXZnpIUM2g4soMrk6j20rFgxq7-0-da49362a494257e6cb8d99de21742ec2)
此外,还有count()函数,用于统计字符串中指定字符出现的次数。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/57_5.jpg?sign=1739548385-6LfnZd8Y9HxKl6c7uoy3ZN8tbTMoQAq0-0-977e87cecbc657e0ff449fa9890a616e)
4.字符串的替换
字符串的替换功能可以方便用户进行字符串的管理和编辑。下面列举几个简单的字符串替换函数。
str.replace()函数是一个灵活的替换函数,可以指定替换的对象和替换的次数。
在下面的代码中,第2行指定了用'*'替换字符串中的字符'i';在第4行中添加了参数1,表示仅进行一次替换。默认从字符串左侧开始进行替换。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_1.jpg?sign=1739548385-Ozxhq7iN2CPmYuvR9LtZ6MpZvhvXOZ6q-0-a9dd517341f633417d5a505b26aef6c7)
strip()函数用于移除字符串头尾指定的字符,默认移除空格。下述代码第2行表示移除字符串中的'cmowz.'字符。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_2.jpg?sign=1739548385-aCwq6PiGzSbbXDZCKbc5oLGBfkKLZzXc-0-2785cfd15aa00ca104e3363c4f1e16a5)
strip()函数还可用于移除空格,默认移除字符串两侧的空格。还可以指定方向,如lstrip()表示移除字符串左侧的空格,rstrip()表示移除字符串右侧的空格。
![](https://epubservercos.yuewen.com/78C615/16699149905738406/epubprivate/OEBPS/Images/58_3.jpg?sign=1739548385-TXXjYCu0XoLxcXJJDV8l0RcFNG6jESCY-0-7e212185eead88bff09dc210271c9cde)