前言
字符串(str),是一个常用的数据类型,也是Python内置的数据类型,在操作其数据类型的数据时,可通过help()和dir()方法来获得相关的使用说明。
help( )方法:可以获得str类型的说明文档。
dir( )方法:可以列出str类型所支持操作的方法和属性等信息。
dir( ): 所列出来的方法,都是字符串可操作的方法,其前后不带双下划线( __ )的方法为,str类中所定义的方法,反之为 Python 内部定义的方法。
下面介绍 str 的各种方法的功能及使用情况:
统计元素出现次数
>>> str = "Study Python"
>>> str.count("Python") # 统计"Python"在str中出现的次数
1
获取元素索引下标值
>>> str1 = "Study Python Learn Python"
>>> str1.index("Python") # 自左向右,获取元素"Python"首次出现的下标值
6
>>> str1.rindex("Python") # 自左向右,获取元素"Python"最后一次出现的下标值
19
>>> str1.find("Python") # 返回元素"Python"在str中首次出现的索引下标值
6
>>> str1.find("java") # 如果查找元素不在str1中,则返回 -1
-1
>>> str1.rfind("Python") # 返回元素"Python"在str1中最后一次出现的索引下标值
19
>>> str1.rfind("java") # 如果查找元素不在str1中,则返回 -1
-1
如果是数字或字符或空格
>>> str2 = "hello123world"
>>> str2.isalnum() # 如果字符串是由 纯数字 或 数字+字母 组成的 是:True 否:Flase
True
>>> str3 = "HelloWorld"
>>> str3.isalpha() # 如果字符串是由纯字母组成 是:True 否:Flase
True
>>> str1.istitle() # 如果字符串首字符是大写(或空格分隔间的字符块首字符为大写) 是:True 否:Flase
True
>>> str4 = "my name is xxx"
>>> str4.islower() # 如果字符串所有字符均为小写 是:True 否:Flase
True
>>> str5 = "MY NAME IS XXX"
>>> str5.isupper() # 如果字符串所有字符均为大写 是:True 否:Flase
True
>>> str6.isdigit() # 如果字符串所有字符都是数字 是:True 否:Flase
True
>>> str7 = " "
>>> str7.isspace() # 如果字符串为空(不管多少个空格) 是:True 否:Flase
True
字母大小写转换
>>> str4 = "my name is xxx"
>>> str4.upper() # 将str4全部字母改成大写字母
'MY NAME IS XXX'
>>> str5 = "MY NAME IS XXX"
>>> str5.lower() # 将str5全部字母改成小写字母
'my name is xxx'
>>> str4.capitalize() # 将str4首字母变成大写字母
'My name is xxx'
>>> str1 = "Study Python Learn Python"
>>> str1.swapcase() # 大小写字符互换
'sTUDY pYTHON lEARN pYTHON'
字符串分割
>>> str1 = "Study Python Learn Python"
>>> str1.split() # 分割字符串,默认以空格符为分割符,最终以列表形式返回(可指定分割符和分割次数)
['Study', 'Python', 'Learn', 'Python']
>>> str1.split("Python",1)
['Study ', ' Learn Python']
>>> str1.rsplit() # 自右向左开始分割,默认以空格符为分割符,分割整个字符串
['Study', 'Python', 'Learn', 'Python']去除字符串头部和尾部的空格符
>>> str8 = " i am fine "
>>> str8.strip() # 去掉str8首尾空格符
'i am fine'
字符串替换(去空格/换行)
>>> " abc ".strip() # 去除首尾空格(默认是去空格,同时可传入指定的去除参数值)
'abc'
>>> " abc ".lstrip() # 去除头部空格
'abc '
>>> " abc ".rstrip() # 去除尾部空格
' abc'
>>> " a b c ".replace(' ','') # 去除字符串所有空格
'abc'
>>> "Study Python Learn Python".replace("Python", 'Java') # 将str9的"Python"替换成"Java"(默认替换所有)
'Study Java Learn Java'
组合字符串
>>> str10 = "1234"
>>> str11 = "Python"
>>> str11.join(str10) # 依次从str10中取一个元素与str11组合,最终返回新的字符串
'1Python2Python3Python4'