为了方便进行字符串操作,在Python版本迭代过程中新添加了很多字符串的操作方法。这些方法实现了 string 模块的大部分方法,所有的方法都包含了对 Unicode 的支持,有一些甚至是专门用于 Unicode 的。
那接下来我们来一起学些Python中比较常用的字符串内建函数。
大小写转换与首字母大写
在处理字符串大小写的问题上,python中提供了三个字母大小写处理函数,如下表:
方法 | 描述 |
capitalize() | 字符串首字母大写 |
upper() | 方法将字符串中的小写字母转为大写字母 |
lower() | 将字符串中的大写字符都转化为小写字符 |
接下来演示这三个函数的用法,如例所示
mystr = "this is a test....PYTHON!!!"
print("mystr.upper() : ", mystr.upper())
print("mystr.capitalize() : ", mystr.capitalize())
print("mystr.lower() : ", mystr.lower())
# ------Out----------
mystr.upper() : THIS IS A TEST....PYTHON!!!
mystr.capitalize() : This is a test....python!!!
mystr.lower() : this is a test....python!!!
判断字符
方法 | 描述 |
isupper() | 检测字符串中所有的字母是否都为大写,返回true或false |
islower() | 检测字符串中所有的字母是否都为小写,返回true或false |
isalpha() | 检测字符串是否只由字母或文字组成,返回true或false |
isalnum() | 检测字符串是否由字母和数字组成,返回true或false |
isspace() | 检测字符串是否只由空白字符组成,返回true或false |
istitle() | 检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写 |
接下来演示其中三个函数的用法,如例所示
mystr = "this is a test....PYTHON!!!";
print(mystr.isupper()) # false
print(mystr.islower()) # false
print(mystr.isspace()) # false
检测前缀或后缀
方法用于检查字符串是否是以指定子字符串开头或结束,如果是则返回 True,否则返回 False
方法 | 描述 |
startswith(str, beg=0, end=len) | 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。 |
endswith(str, beg=0, end=len) | 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回 True,否则返回 False。 |
接下来演示这两个函数的用法,如例所示
mystr = "this is a test....PYTHON!!!";
print(mystr.startswith("this")) # false
print(mystr.endswith("!!!")) # false
合并与分割字符串
方法 | 描述 |
join(seq) | 方法用于将序列中的元素以指定的字符连接生成一个新的字符串 |
split() | 通过指定分隔符对字符串进行切片 |
接下来演示这三个函数的用法,如例所示
mystr = "this is a test....PYTHON!!!";
print(mystr.startswith("this")) # false
print(mystr.endswith("!!!")) # false
对齐方式
对齐处理的方法主要涉及三个,rjust、ljust、center。
方法 | 描述 |
rjust() | 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。 |
ljust() | 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串。 |
center() | 返回一个原字符串居中对齐,并使用空格填充至长度 width 的新字符串。 |
接下来演示这三个函数的用法,如例所示
mystr = "this is a test....PYTHON!!!";
print(mystr.rjust(30, "*")) # false
print(mystr.ljust(30, "*")) # false
搜索与统计
Python可借助于find、index、count来完成对字符串中子串的搜索与统计处理过程。
方法 | 描述 |
find() | 检测 str 是否包含在父串中,获取str的索引,如果未发现str返回-1 |
index() | 检测 str 是否包含在父串中,获取str的索引,如果未发现str返回异常 |
count() | 获取str在父串中出现次数 |
接下来演示这三个函数的用法,如例所示
mystr = "this is a test....PYTHON!!!";
str2 = "PYTHON";
print(mystr.find(str2))
print(mystr.find(str2, 5)) # 从下标5开始查询str2字符串
print(mystr.find(str2, 20)) # 未找到返回 -1
print(mystr.count('s'))
print(mystr.index(str2, 20)) # 未找到,报异常
# ------Out----------
18
18
-1
3
ValueError: substring not found
掌握常用的字符串内置方法对于完成字符串操作具有极大的帮助,我们需要熟练掌握字符串常用的内置方法、参数、返回值。