4.6 字符串使用的方法
在Python中,字符串使用的方法很多,主要是因为字符串中string模块中继承了很多方法。下面挑选比较常用的方法进行讲解。
1.capitalize()
该方法用于将字符串的第一个字母变成大写,其他字母变成小写。语法格式如下:
str.capitalize()
案例如下:
>>>str = "love is a lamp" >>>print ("首字母变成大写后的效果:", str.capitalize()) 首字母变成大写后的效果:Love is a lamp
2.count()
该方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。语法格式如下:
str.count(sub, start=0, end=len(string))
其中sub为搜索的子字符串;start为字符串开始搜索的位置,默认为第一个字符,第一个字符索引值为0; end为字符串中结束搜索的位置,默认为字符串的最后一个位置。
案例如下:
>>>str="www.python.com" >>>s='o' >>>print ("字符o出现的次数为: ", str.count(s)) 字符o出现的次数为:2 >>>s='com' >>>print ("com出现的次数为:", str.count(s,0,10)) com出现的次数为: 0 >>>print ("com出现的次数为:", str.count(s,0,14)) com出现的次数为: 4
3.find()
该方法用于检测字符串中是否包含子字符串,如果包含子字符串则返回开始的索引值,否则返回-1。语法格式如下:
str.find(str, beg=0, end=len(string))
其中str为指定检索的字符串;beg为开始索引,默认为0; end为结束索引,默认为字符串的长度。案例如下:
>>>str1 = "人生自古谁无死" >>>str2 = "古" >>>print (str1.find(str2)) 3 >>>print (str1.find(str2,3)) 3 >>>print (str1.find(str2,7)) -1
4.index()
该方法用于检测字符串中是否包含子字符串。如果包含子字符串则返回开始的索引值,否则会报一个异常。语法格式如下:
str.index(str, beg=0, end=len(string))
其中str为指定检索的字符串;beg为开始索引,默认为0; end为结束索引,默认为字符串的长度。案例如下:
>>>str1 = "人生自古谁无死" >>>str2 = "古" >>>print (str1.index(str2)) 3 >>>print (str1.index(str2,3)) 3 >>>print (str1.index(str2,7)) raceback (most recent call last): File "<pyshell#59>", line 1, in <module> print (str1.index(str2,7)) ValueError: substring not found
可见,该方法与find()方法一样,只不过如果str不在string中会报一个异常。
5.isalnum()
该方法用于检测字符串是否由字母和数字组成。语法格式如下:
str.isalnum()
如果字符串中至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。
案例如下:
>>>str1 = "Nothingjusthappens" #字符串没有空格 >>>print (str1.isalnum()) True >>>str1="Nothing just happens" #这里添加了空格 >>>print (str1.isalnum()) False
6.join()
该方法将序列中的元素用指定的字符连接生成一个新的字符串。语法格式如下:
str.join(sequence)
其中sequence为要连接的元素序列。案例如下:
>>>s1 ="*" >>>s2 ="" #字符串序列 >>>se1=("山", "中", "相", "送", "罢") >>>se2=("日", "暮", "掩", "柴", "扉") >>> print (s1.join( se1 )) 山*中*相*送*罢 >>> print (s2.join( se2 )) 日暮掩柴扉
注意
被连接的元素必须是字符串,如果是其他数据类型,运行时会报错。
7.isalpha()
该方法用于检测字符串是否只由字母或汉字组成。如果字符串至少有一个字符并且所有字符都是字母或汉字则返回True,否则返回False。
语法格式如下:
str.isalpha()
案例如下:
>>>s1 = "hello张三丰" >>>print (s1.isalpha()) True >>>s1 = "今天的营业额是1300元" >>>print (s1.isalpha()) False
8.isdigit()
该方法用于检测字符串是否只由数字组成。如果字符串中只包含数字则返回True,否则返回False。
语法格式如下:
str.isdigit()
案例如下:
>>>s1 = "123456789" >>>print (s1.isdigit()) True >>>s1 = "今天的营业额是1300元" >>>print (s1.isdigit()) False
9.lower()
该方法用于将字符串中的字母转化为小写。案例如下:
>>> s1 = "HeLLO" >>> s1.lower() 'hello'
10.max()
该方法用于返回字符串中的最大值。案例如下:
>>> s1 = "hello" >>> max(s1) 'o'
注意
如果出现同样字母的大小写,则小写字母整体大于大写字母。
例如:
>>>s1 = "abcABC" >>> max(s1) 'c'
11.min()
该方法用于返回字符串中的最小值。案例如下:
>>> s1 = "hello" >>> min(s1) 'e'
12.replace()
该方法用于把字符串中的旧字符串替换成新字符串。语法格式如下:
str.replace(old, new[, max])
其中old为将被替换的子字符串;new为新字符串,用于替换old子字符串;max为可选参数,表示替换不超过max次。案例如下:
>>>s1="欢迎张先生入住华丰大酒店" >>>print (s1.replace("张先生", "王小姐")) 欢迎王小姐入住华丰大酒店 >>>s1="苹果苹果苹果" >>>print(s1.replace("苹果", "香蕉",2)) 香蕉香蕉苹果
13.swapcase()
该方法用于对字符串的大小写字母进行转换。案例如下:
>>>s1 = "hello Tom" >>>print (s1.swapcase()) HELLO tOM
14.title()
该方法用于返回“标题化”的字符串,就是说所有单词都是以大写开始,其余字母均为小写。案例如下:
>>>s1 = "hello tom how arE yoU" >>>print (s1.title()) Hello Tom How Are You