• Python 字符串相关操作与方法


    Python 字符串相关操作与方法

    1. 字符串的索引与切片

    1. 字符串从左至右是有顺序的,我们通过索引来确定它的位置。索引类似C语言中的下标
      • s[index]
    2. 切片是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串
      • s[start_index : end_index+1 : step]
      • 顾头不顾腚(结尾得往下取一位)
      • 倒序,需要使用反向步长s[::-1]
      • 索引无论使用正数还是负数都仅表示位置。这里是否使用反向步长需要注意一下
    print(a[-1:0])  #不能从-1 到 0 
    print(a[-1:-5]) #不能从-1 到 -5
    print(a[-1:-5:-1]) #以上可以加上步长   #倒序
    print(a[-5:-1])    #或从左向右
    
    原因在于默认步长为1,所以不能直接从右向左
    
    1. 注意:索引、切片出来的数据与原来是没有联系的。
    s2 = s1[0]
    s2 与 s1 没有联系
    s2的内容是另开辟的
    

    2. 字符串的常用操作方法

    1. 注意: 新字符串与原字符串没有联系,这些操作都是产生一个新的字符串。

    2. count

      • 计算字符串中参数出现的个数
      res = a.count("a")
      res = a.count("a",4,8)  #对res的切片内容进行a的计数
      
    3. startswith 与 endswith 判断以什么为开头,什么为结尾

    a = 'abcdefghijklmnopqrstuvwxyz'
    print(a.startswith("a"))   返回True
    print(a.startswith("d"))   返回False
    print(a.startswith("d",3,6))  返回True
    print(a.endswith("z"))     返回True
    
    1. split
      • 形成一个不包含这个分割元素的列表(默认按照空格分格,返回一个链表)
      • str --->list
    a = 'abcdefghijklmnopqrstuvwxyz'
    b = a.split()
    print(b,type(b))
    ##['abcdefghijklmnopqrstuvwxyz'] <class 'list'>
    c = a.split('f')
    print(c,type(c))
    ##['abcde', 'ghijklmnopqrstuvwxyz']
    
    1. join (iterate)非常好用 联合

      • list ---> str
      • iterate 是可迭代对象
      • 前提:使用join方法的对象必须是字符串!!!
        s1 = 'alex'
        s2 = '+'.join(s1)
        print(s2)       #a+l+e+x
      
        l1 = ['taibai','nvshen','wuchao'] 
        s3 = ':'.join(l1)
        print(s3)       #taibai:nvshen:wuchao
      
    2. format的三种玩法,格式化输出

        res = '{}{}{}'.format('naqin',18,'male')
        naqin18male
    
        res = '{1}{0}{1}'.format('naqin',18,'male')
        18naqin18
    
        res = '{name}{age}{sex}'.format(name='naqin',age=18,sex='male')
        naqin18male
    
    1. strip 移除字符串头尾指定的字符

      • 默认去除空格,tab, ,
      • 去除指定的字符 (从前往后从后往前,遇到一个清除一个,若遇到不含参数内的字符时停止)
        s4 = 'rre太r白qsd'
        s5 = s4.strip('rqsed')
        print(s5)  #太r白
      
      • 只能删除开头或是结尾的字符,不能删除中间部分的字符。
    2. replace

      • replace方法不是对原来的字符串做改变,而是新产生一个改变后的字符串,所以依旧需要赋值替换。
    msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'
    msg1 = msg.replace('alex','太白')
    #太白 很nb,太白是老男孩教育的创始人之一,太白长得很帅
    msg1 = msg.replace('alex','太白',1)   默认全部替换
    
    
    1. is系列
      • 应用:购物车
    a.isalnum()  #字符串由字母或数字组成
    a.isalpha()  #只由字母组成
    a.isdecimal() #只由十进制组成
    
    
    1. find() 返回找到的元素的索引,找不到返回-1
    2. index()返回找到的元素的索引,找不到报错
    3. upper(所有字母大写,中文或数字忽略) 、lower(所有字母小写)
    • 应用:验证码(不区分大小写)
    1. capitalize(首字母大写)、swapcase(大小写翻转)、title(每个单词大写)
    2. center
    st = 'runoob'
    print(st.center(50,'*'))
    **********************runoob**********************
    
    

  • 相关阅读:
    JDBC的PreparedStatement是什么?
    ArrayList、LinkedList、Vector 的区别。
    final finally finalize区别
    面向对象三大特性
    JDBC访问数据库的基本步骤是什么?
    报表中的地图怎么做?
    报表工具如何实现“点击查看原图”
    玩转报表排名之组内排名
    动态隐藏行
    OUT 了??还没玩转报表超链接
  • 原文地址:https://www.cnblogs.com/chennaqin/p/10799737.html
Copyright © 2020-2023  润新知