day03 字符串的常用方法:索引切片,转大小写,替换,分割,联合,for循环

day03 字符串的常用方法:索引切片,转大小写,替换,分割,联合,for循环

  • 字符串索引切片

    • 通过下标(索引)取字符串的单个字符,得到的是字符串。

      • 下标为正,从左到右,起始下标为0,格式:str[index]

        a ='小智Python全栈工程师'
        print(a[1]) #输出智
        
      • 下标为负,从右到左,起始下标为-1

        a ='小智Python全栈工程师'
        print(a[-2]) #输出程
        
    • 通过字符串切片得到一段字符串

      • 下标为正,从左到右,起始下标为0,顾首不顾腚,格式:str[start_index:end_index+1]

        a ='小智Python全栈工程师'
        print(a[:2])  #其实下标0可以不写,得到小智
        
      • 切片加步长,步长定义:起始字符下面的第几个或者理解为间隔,格式:str[start_index:end_index+1:step],因为步长为正,所以从左往右,起始下标要小于结束下标

        a ='小智Python全栈工程师'
        print(a[:8:2])  #其实下标0可以不写,得到小Pto
        
      • 步长为负,倒序切片,格式:str[start_index:end_index:-step],因为步长为负,所以从右往左,起始下标大于结束下标

        a ='小智Python全栈工程师'
        print(a[::-1])  #师程工栈全nohtyP智小
        
    • 转化为大小写

      • str.upper(),转化为大写:将字符串内所有英文字母转为大写,非英文字符不变,得到新字符串,原字符串不变
      s = 'hello world 小智 cool'
      print(s.upper())  #HELLO WORLD 小智 COOL
      print(s)   #hello world 小智 cool
      
      • str.lower(),转化为小写:将字符串内所有英文字母转为小写,非英文字符不变,得到新字符串,原字符串不变
      s = 'HELLO WORLD 小智 COOL'
      print(s.lower())  #hello world 小智 cool
      print(s)  #HELLO WORLD 小智 COOL
      
    • 判断以xx开头或xx结尾

      • str.startswith('xx'):判断str是否以‘xx’开头,返回的是布尔值

        s = 'HELLO WORLD 小智 COOL'
        print(s.startswith('HE'))  #True
        print(s)
        
      • str.endswith('xx'):判断str是否以‘xx’结尾,返回是布尔值

      s = 'HELLO WORLD 小智 COOL'
      print(s.endswith('小智'))  #False
      print(s)
      
      
      • str.startswith('xx',start_index,end_index):判断str的切片是否以‘xx'开头
      s = 'HELLO WORLD 小智 COOL'
      print(s.startswith('小智',12,)) #切片得到小智 COOL,是否以’小智‘开头,返回True
      print(s)
      
      
    • 替换:str.replace(old,new,【times】):将字符串中的old字符串替换成new字符串,默认全部替换,也可指定替换多少次,得到新字符串,原字符串不变

      s = 'HELLO WORLD 小智 COOL 小智  啊  小智  噢  小智'
      print(s.replace('小智','xiaozhi',3))  #HELLO WORLD xiaozhi COOL xiaozhi  啊  xiaozhi  噢  小智
      print(s)
      
      
    • 去除字符串两边的空格:str.strip([str1]),从左往右以及从右往左去除指定单个或多个字符,遇到非str1的字符停止

    s = '1234HELLO WORLD 1234小智 COOL 小智  啊  小智  噢  小智12345'
    *print(s.strip('12345')) #HELLO WORLD 1234小智 COOL 小智  啊  小智  噢  小智
    print(s) #1234HELLO WORLD 1234小智 COOL 小智  啊  小智  噢  小智12345
    
    
  • 分割,str.split([x'],[times]):默认遇到空格分割字符串,可指定字符串,和指定次数,返回一个列表

    s = '小智123臭臭猪123美美猪'
    print(s.split('123',1))  #['小智', '臭臭猪123美美猪']
    print(s)  #小智123臭臭猪123美美猪
    
    
  • 联合, 'x'.join(str/list) : 将字符串内的每一个字符或列表内的每一个元素用x拼接,得到一个字符串,注意列表内全是字符串元素

    s = '小智123臭臭猪123美美猪'
    s1 = ['xiaozhi','123','hello']
    print('xx'.join(s))   #小xx智xx1xx2xx3xx臭xx臭xx猪xx1xx2xx3xx美xx美xx猪
    print('++'.join(s1))  #xiaozhi++123++hello
    print(s)
    
    
  • 计算字符串内子串出现的次数:str.count('xx')

    s = 'pythonasd pythonsadzklxnlcpythonasjkkjczxjlcapython'
    print(s.count('python'))  #4
    
    
    
  • 格式化输出:str.format

    • 第一种:和%s格式化输出一样
    print('我叫{},今年{}岁'.format('小智','20'))  #format里数据的顺序和字符串内{}顺序一致
    
    
    • 第二种:'xxxx{index}'.format(tuple)

      print('我叫{0},今年{3}岁'.format('小智','20','100','美美猪'))
      
      
    • 第三种:’xxxxx{变量名1}xxxx{变量名2}'.format(变量名1=值1,变量名2=值2,变量名3=值三)

      print('我叫{age},今年{name1}岁'.format(name='小智',age='20',age1='100',name1='美美猪'))  #我叫20,今年美美猪岁
      
      
      
  • is系列

    • 判断是否只由字母组成:str.isalpha(),返回布尔值

      a = 'helloworld2020'
      print(a.isalpha())   #False
      
      
    • 判断字符串是否由数字或字母或数字和字母组成

      a = 'helloworld2020'
      print(a.isalnum())  #True
      
      
    • 判断字符串是否只由十进制数组成

      a = 'helloworld2020'
      print(a.isdecimal())  #False
      
      
  • For循环

    • 格式:for 变量 in 可迭代对象:循环体 #可迭代对象:由多个元素组成

    • 原理,从第零个元素开始,每次迭代,变量为可迭代对象的一个元素,直到最后一个元素为止

      s = 'hello world'
      for i in s :
      	print(i)   #每次打印字符串的一个元素
      
      

猜你喜欢

转载自www.cnblogs.com/Izhuzhu/p/12619112.html