python中字符串String及其常见操作指南(方法、函数),


目录
  • 下标与切片
  • 常见方法
    • 查找
    • 替换
    • 分割
    • 大小写格式化
    • 对齐格式化
    • 清除空白字符
    • 检查
  • 补充:16个常用函数
    • 总结

      注意:对字符串的所有操作,原始数据(即原字符串)不变 !(字符串是不可变类型)

      对原字符串操作会返回一个操作后的数据, 可以使用变量去接受数据

      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------

      下标与切片

      str[下标],从左向右0→+,从右向左-1→

      str[起始:结束:步长],范围包首不包尾

      >>> str="0123456789"    #定义一个字符串,从0到9,共10个元素
      >>> str[0]              #取出0号下标的元素
      '0'
      >>> str[10]             #尝试取出10号下标的元素
      Traceback (most recent call last):
        File "<pyshell#6>", line 1, in <module>
          str[10]
      IndexError: string index out of range
                              #报错,下标越界,不存在str[10]
      >>> str[9]              #下标从左向右数,第一个为0号下标,第N个元素下标为N-1
      '9'
      >>> str[-1]             #下标从右向左数,第一个为-N号下标,倒数最后一个为-1
      '9'
      >>> str[-10]
      '0'

      常见方法

      查找

       .find(str),str存在字符串中返回下标索引值,不存在返回-1

      .rfind(str),str存在字符串中,查找顺序为从右向左,其它与find一样

      .index(str),存在返回下标索引值,不存在报异常

      .rindex(str),存在返回下标索引值,查找顺序为从右向左,其它与index一样

      .count(str[,起始,结束]),查找指定字符串中该字符出现的总次数

      >>> str='123aaabcdeeff'        #定义一个字符串用于测试字符串方法的使用
      >>> str.find(0)                #尝试查询整数0是在于字符串中的下标
      Traceback (most recent call last):
        File "<pyshell#7>", line 1, in <module>
          str.find(0)
      TypeError: must be str, not int
                                     #字符串操作,查询操作对象必须为字符串类型,所以元素应用‘'标识
      >>> str.find('1')          #查询字符1在指定字符串中首次出现的下标
      0                          #返回的下标为0
      >>> str.find('a')          #查询字符a在指定字符串中首次出现的下标
      3                          #返回的下标为3
      >>> str.rfind('a')         #反向查询(即从末尾向前查询),字符a首次出现在字符串中的下标
      5                          #返回的下标为5
      >>> str.index('0')         #使用index查询时,字符不存在时,会报错
      Traceback (most recent call last):
        File "<pyshell#11>", line 1, in <module>
          str.index('0')
      ValueError: substring not found
      >>> str.find('0')          #使用find查询时,不存在返回-1
      -1
      >>> str.rindex('a')        #使用rindex反向查询
      5
      >>> str.count('a')         #使用count查询指定字符出现的总共次数
      3
      >>> str.count('f')         
      2
      >>> str.count('a',0,3)     #使用count时,可以指定范围,第一个数字指定起始位置,                   
      0                          #第二个数字指定 结束范围,查询范围包含起始位,不包含结束位
      >>> str.count('a',1,5)
      2
      >>> str.find('abcde')      #操作对象为字符串,传入参数也是一个字符串,并不一定是一个字符
      5                          #可以是字母数字以及中文

      替换

      .replace(str1,str2 [,n] ),将字符串中所有的str1替换为str2,n可指定最多替换的次数

      >>> str='123aaabcdeeff'
      >>> str.replace('a','s')            #不指定替换次数,将会全部替换
      '123sssbcdeeff'
      >>> str.replace('a','s',1)          #指定次数时,仅替换指定次数个,替换顺序为从前向后
      '123saabcdeeff'
      >>> str.replace('a','s',2)
      '123ssabcdeeff'

      分割

      .split(str[,n]),以str为分隔符(分割后丢失),将字符串分割为多个字符串,n可指定最多的分割次数

      .partition(str),已指定字符做为一个部分,分割两边,生成三部分的字符串

      .splitlines(),按照行进行分割,返回一个包含各行作为元素的列表

      >>> str='123123123'                #定义一个字符串,用于测试
      >>> str.split('2')                 #使用split进行分割
      ['1', '31', '31', '3']             #分割后指定的分割符消失,生成多个字符串的列表
      >>> str.partition('2')             #使用partition进行分割
      ('1', '2', '3123123')              #仅进行一次分割,分割后制定的分割符单独成为一部分
      >>> str='abc\nabc\nabc\nabc'       #定义一个包含行符的字符串
      >>> print(str)                     #打印输出测试
      abc
      abc
      abc
      abc
      >>> str.splitlines()               #使用splitlines进行分割,生成一个列表,每一行数据为一个元素
      ['abc', 'abc', 'abc', 'abc']

      大小写格式化

      .capitalize(),将字符串第一个首字母大写(其它都小写)

      .title(),将字符串中所有单词首字母大写(其它都小写)

      .lower()转换所有大写字符为小写

      .upper()转换所有小写字符为大写

      >>> str="abcABC defDEF hijHIJ klMN"      #定义一个包含大小写的字符串用于测试
      >>> str.capitalize()                     #将字符串首字母进行大写
      'Abcabc defdef hijhij klmn'
      >>> str.title()                          #将所有单词首字母进行大写
      'Abcabc Defdef Hijhij Klmn'
      >>> str.lower()                          #将字符串中所有字母小写
      'abcabc defdef hijhij klmn'
      >>> str.upper()                          #将字符串中所有字母大写
      'ABCABC DEFDEF HIJHIJ KLMN'
      >>> 

      对齐格式化

       .ljust(width)返回一个原字符串左对齐,并默认使用空格补充至长度为width的字符串

      .rjust(width)返回一个原字符串右对齐,并默认使用空格补充至...........

      .center(width) 返回一个原字符居中,并使用空格补充至width长度的新字符串

      #默认使用空格补充长度,显示不够明显,所以为了突出效果,指定使用了*补充
      str1='   abcde  '           
      print(str1.ljust(20,'*'))   #左对齐,指定长度为20
      str2='   abcde   '
      print(str2.rjust(20,'*'))   #右对齐,指定长度为20
      str3='   abcde   '
      print(str3.center(20,'*'))  #居中对齐,指定长度为20
       
      #执行结果
      #   abcde  **********
      # *********   abcde   
      # ****   abcde   *****

      清除空白字符

      .lstrip(),删除左侧的空白字符

      .rstrip(),删除末尾的空白字符

      .strip(),删除两端的空白字符

      >>> str='   abc   '
      >>> str.lstrip()        #删除左侧空格
      'abc   '
      >>> str.rstrip()        #删除右侧空格
      '   abc'
      >>> str.strip()         #删除两侧空格
      'abc'
      >>> 

      检查

      .startswith(str),检查字符串是否以指定字符开头,是则返回Turn,否则返回False

      .endswith(str),检查字符串是否以指定字符结尾,是则返回Turn,否则为False

      .isalpha(),检查字符串是否都是字母,是返回Turn,否则返回False

      .isdigit(),检查字符串是否只包含数字,是返回Turn,否则返回False

      .isalnum(),检查字符串是否都是字母或数字,是返回Turn,否则返回False

      .isspace(),检查字符串是否只包含空格,是返回Turn,否则返回False

      >>> str0='0123abcd'
      >>> str1='12345'
      >>> str2='abcdef'
      >>> str3='    '
      >>> str0.startswith('0')    #检查是否包含指定字符串,是则返回True
      True
      >>> str0.startswith('6')    #不包含则返回Flace
      False
      >>> str0.endswith('0')      #检查是否以指定字符串结束,不是返回Flace
      False
      >>> str0.endswith('d')      #是则返回True
      True
      >>> str1.isalnum()          #检测指定字符串是否全是字母和数字组成
      True
      >>> str2.isalpha()          #检测指定字符串是否全为字母
      True
      >>> str0.isdigit()          #检测指定字符串是否全是数字
      False
      >>> str3.isspace()          #检测指定字符串是否全为空格
      True
      >>> 

      补充:16个常用函数

      方法描述
      str.len()返回str字符串的长度
      str.lower()返回字符串str的副本,全部字符小写
      str.upper()返回字符串str的副本,全部字符大写
      str.islower()当str全部字符都是小写时,返回True,否则返回False
      str.isupper()当str全部字符都是大写时,返回True,否则返回False
      str.isprintable()当str全部的字符都是可打印时,返回 True,否则返回False
      str.isalnum()当str只由字母或数字组成时,返回True,否则返回False
      str.isalpha()当str的所有字符都是字母组时,返回True,否则返回False
      str.isascii()当str的所有字符均在ascii码内,返回True, 否则返回False
      str.isdecimal()当str的所有字符均是Unicode数字全角数字时,返回True,否则返回False
      str.isdigit()当str的所有字符都是Unicode数字byte数字全角数字罗马数字时,返回True,否则返回False
      str.isnumeric()当str的所有字符都是Unicode数字全角数字罗马数字汉字数字时,返回True, 否则返回False
      str.isidentifier()如果str是有效的Python标识符返回True,否则返回False
      str.isspace()当str所有字符都是空格时,返回True, 否则返回False
      str.format()返回字符串str的一种排版格式
      str.count(sub [, start [, end]])返回str[start: end]中sub子串出现的次数

      总结

      到此这篇关于python中字符串String及其常见操作指南(方法、函数)的文章就介绍到这了,更多相关python字符串String常见操作内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

      您可能感兴趣的文章:
      • Python中字符串的常见操作技巧总结
      • Python常见字符串操作函数小结【split()、join()、strip()】
      • Python字符串的常见操作实例小结
      • Python基础之字符串常见操作经典实例详解
      • Python 5种常见字符串去除空格操作的方法
      • python字符串常见使用操作方法介绍
      • python字符串的一些常见实用操作
      • python中字符串的常见操作总结(一)
      •  python中字符串的常见操作总结(二)

      评论关闭