Python程序设计案例课堂
上QQ阅读APP看书,第一时间看更新

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