前言

字符串(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'