Python学习-字符串(str)的常用方法

作者: 残阳夕露 | 来源:发表于2018-07-05 19:54 被阅读67次
    查看所有Python相关学习笔记

    字符串的常用方法

    字符串的常用方法

    • 重点掌握
      1. find 如果有该元素:返回值是该查找元素的 index ,如果没有该元素则返回:-1

        str2.find(',',14)#14是从index=14地方开始往后面找
        
      2. count 计算该字符出现的次数

      3. startswith/endswith 返回值bool -T F

      4. isalpha 检查字符串中是否都是字母

      5. isdigit 检查字符串中是否都是数字

      6. str.join 将 sequence类型的参数的元素字符串合并(连接)到一个字符串,string 作为分隔符

      7. split 返回的List类型---改切点字符会没有

      8. lower 将字符串里面如果有大写字母的全部转为小写字母

      9. upper 将字符串里面如果有大写字母的全部转为大写字母

      10. replace 替换字符串里面指定的子字符串--出现多少个就替换多少个

      11. strip 将字符串前置空格和后置空格删除---无法去掉中间的空格

    • 大小写
      a = 'hEllo pYthon'
      print(a.capitalize()) #生成一个新的字符串,首字母大写,其余小写
      print(a.title())#生成一个新的字符串,将每个单词的首字母大写,其余小写
      print(a.upper()) #生成一个新的字符串,将所有字母大写
      print(a.casefold()) #生成一个新的字符串,所有字母小写
      print(a.lower())#生成一个新的字符串,所有字母小写
      print(a.swapcase())#生成一个新的字符串,翻转字符串中的大小写
      
      • 执行结果
      Hello python
      Hello Python
      HELLO PYTHON
      hello python
      hello python
      HeLLO PyTHON
      
    • 填充
      a = 'hEllo pYthon'
      print(a.center(20)) #生成一个新的字符串,将字符串居中,并用空格填充成指定长度(两边都填充)
      print(a.ljust(20)) #生成一个新的字符串,将字符串居左,并用空格填充成指定长度(填充右边)
      print(a.rjust(20)) #生成一个新的字符串,将字符串居右,并用空格填充成指定长度(填充左边)
      # zfill(width)返回长度未width的字符串,原字符串右对齐,前面用0填充
      print(a.zfill(15))
      
      
      • 执行结果
          hEllo pYthon    
      hEllo pYthon        
              hEllo pYthon
      000hEllo pYthon
      
    • 次数查询
      a = 'hEllo pYthon'
      print(a.count('h',0,0))
                              #查询'h'在字符串a的下标0到下标2之间出现的次数,
                              #0、2代表范围(0、2可省略,代表查询整个字符串内出现的此说)
                              #print(a.count(h))
                              #前开后闭(包括开始位置,不包括结束位置)
      
      • 执行结果
      0
      
    • 元素查询
      print(a.find('l',3,4))#查询下标3到下标4之间到'l'的下标,如果不存在则返回-1
      #rfind(sub,[,start[,end]])类似与find()方法,不过是从右边开始查找
      print(a.index('l',3,4))#查询下标3到下标4之间到'l'的下标,如果'l'不存在,会产生一个异常
      # rindex(sub[,start[,end]])类似index(),不过是从右边开始
      print(a.endswith('l',0,2)) #查询下标0到下标2范围内的字符串是否以'n'结束,前开后闭(包括开始位置,不包括结束位置)
      print(a.startswith('l',2))#查询下标2到最后范围内的字符串是否以'l'开始,前开后闭(包括开始位置,不包括结束位置)
      
      • 执行结果
      3
      3
      False
      True
      
    • 转换
      a = 'hEllo pYthon'
      a = 'hello\tworld'
      print(a.expandtabs(tabsize=2)) #生成一个新的字符串,将\t转话为空格,默认tabsize=8
      
      • 执行结果
      hello world
      
    • 去空格
      a = '   abc    '
      # strip() 去掉字符串两边的所有空格(包括\t和\n)
      print(a.strip())
      # lstrip()去掉字符串左边的所有空格(包括\t和\n)
      print(a.lstrip())
      # rstrip()去掉字符串右边的所有空格(包括\t和\n)
      print(a.rstrip())
      
      • 执行结果
      abc
      abc    
         abc
      
    • 分隔(split)
      # partition(sub)找到字符串sub,把字符串分成一个三元组(pre_sub,sub,fol_sub),如果字符串中不包含sub则返回('原字符串','','')
      a = 'abcdefgh'
      print(a.partition('d'))
      # rpartition(sub) 类似partiton()方法,不过是从右边开始查找
      print(a.rpartition(('d')))
      
      # split(sep = None, maxsplit = -1)不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数有设置,则仅分隔maxsplit个子字符传,返回切片后的子字符串拼接的列表
      a = 'abcd,edff,ddd dda hhh\ndddd,\tdddd'
      print(a.split()) # 默认分隔:空格,\n,\t
      print(a.split(','))
      print(a.split(',',2))
      
      # splitlines(([keepends]))按照'\n'分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行
      a = '''第一行
      第二行
      第三行\n第四行\t好好'''
      print(a.splitlines())
      
      • 执行结果
      ('abc', 'd', 'efgh')
      ('abc', 'd', 'efgh')
      ['abcd,edff,ddd', 'dda', 'hhh', 'dddd,', 'dddd']
      ['abcd', 'edff', 'ddd dda hhh\ndddd', '\tdddd']
      ['abcd', 'edff', 'ddd dda hhh\ndddd,\tdddd']
      ['第一行', '第二行', '第三行', '第四行\t好好']
      
    • 替换
      # replace(old,new,[,count])把字符串中的old子字符串替换成new子字符串,如果count指定,则替换不超过count次
      a = 'aaabbbcccddd'
      print(a.replace('a','好'))
      print(a.replace('a','好',2))
      # translate(table)根据table的规则(可以由str.makertrans('a','b')定制)转换字符串中的字符
      a = 'aaaaaaaaaaabbbbbbbbbbbbccccccccccccccc'
      b = a.translate(str.maketrans('a','*'))
      print(b)#***********bbbbbbbbbbbbccccccccccccccc
      
      • 执行结果
      好好好bbbcccddd
      好好abbbcccddd
      ***********bbbbbbbbbbbbccccccccccccccc
      
    • 插入
      # join(sub)以字符串作为分配符,插入到sub中所有的字符之间
      a = 'abc'
      b = '哈哈哈哈哈哈'
      print(a.join(b))
      print(','.join(b))
      
      • 执行结果
      哈abc哈abc哈abc哈abc哈abc哈
      哈,哈,哈,哈,哈,哈
      
    • 判断
      # isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
      a = '对的\td'
      print(a.isalnum()) # 验证a是否为纯字符
      # isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
      a = '对对对dd'
      print(a.isalpha()) #验证是否为纯字符(包含中文或字母,不包含符合,数字)
      # isdecimal()如果字符串只包含十进制数字则返回True,否则返回False
      a = '22222'
      print(a.isdecimal())
      # isdigit()如果字符串只包含数字则返回True,否则返回False
      a = '3333'
      print(a.isdigit()) #验证是否为纯数字(不包含字母,符合,数字)
      # islower()如果字符串至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True,否则返回False
      a ='aaddd 对的F'
      print(a.islower()) # 验证字符串内的英文字母是否都为小写
      # isnumeric()如果字符串中只包含数字字符,则返回True,否则返回False
      a = '2222223 3'
      print(a.isnumeric()) #验证是否为纯数字(不包含字母,符合,数字)
      # isspace()如果字符串中只包含空格,则返回True,否则返回False
      a = ' '
      print(a.isspace()) #验证字符串是否为空格
      # istitle()如果字符串是标题化(所有单词都是以大写开始,其余字母均是小写),则返回True,否则返回False
      a = 'F '
      print(a.istitle())
      # isupper()如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False
      a = 'F 的'
      print(a.isupper()) #验证英文字母是否都为大写
      
      
      • 执行结果
      False
      True
      True
      True
      False
      False
      True
      True
      True
      

    相关文章

      网友评论

        本文标题:Python学习-字符串(str)的常用方法

        本文链接:https://www.haomeiwen.com/subject/gscmuftx.html