• python(5)字符串处理 (sub,replace,find,index,upper,strip,split,sub翻页


    一,sub和replace的用法

    re.sub 函数进行以正则表达式为基础的替换工作

    re.sub替换到目标字符串中的a,b或者c,并全部替换

     另加上sub翻页操作:

    re.sub('start=d+','start=%d'%i,url,re.S)
    1 >>> import re
    2 >>> re.sub('[abc]','o','Mark')
    3 'Mork'
    4 >>> re.sub('[abc]','o','caps')
    5 'oops'
    6 >>

    replace 用法介绍:

    1 >>> a
    2 'asds23DFG34'
    3 >>> a.replace('s','M')   #全部替换
    4 'aMdM23DFG34'
    5 >>> b = 'adfafafafa'
    6 >>> b.replace('a','M',3) #指定个数的替换
    7 'MdfMfMfafa'

    二,find和index的用法

    index,find 返回的都是找到的字符串的下标;find如果找不到返回的值 则是-1,而index直接抛出异常

    a.find('t',start)从起始位置搜索

    a.find('t',start,end)从指定位置开始搜索

    a.rfind('t')从右边位置开始搜索

    a.count('t') 搜索到多少个指定的字符

    1 >>> a = '12432423'
    2 >>> a.find('1')
    3 0
    4 >>> a.find(5)
    5 Traceback (most recent call last):
    6   File "<stdin>", line 1, in <module>
    7 TypeError: expected a character buffer object
    8 >>> a.find('24')
    9 1
     1 >>> a
     2 '12432423'
     3 >>> f = a.find('M')
     4 >>> f
     5 -1
     6 >>> f = a.find('43') #返回的是字符串的第一个位置
     7 >>> f
     8 2
     9 >>> f = a.find('435')
    10 >>> f
    11 -1
    
     1 '12432423'
     2 >>> a.index('4')
     3 2
     4 >>> a.index('8')
     5 Traceback (most recent call last):
     6   File "<stdin>", line 1, in <module>
     7 ValueError: substring not found
     8 >>> f  = a.index('8')
     9 Traceback (most recent call last):
    10   File "<stdin>", line 1, in <module>
    11 ValueError: substring not found

    三,大小写处理,upper,lower,swapcase,capitalize,title

     1 >>> a
     2 '123dfsdfs'
     3 >>> a = 'asds23DFG34'
     4 >>> a.upper()          #全部大写
     5 'ASDS23DFG34'
     6 >>> a.lower()          #全部小写
     7 'asds23dfg34'
     8 >>> a.swapcase()       #大小写交换
     9 'ASDS23dfg34'
    10 >>> a.capitalize()     #首字母大写其余小写
    11 'Asds23dfg34'
    12 >>> a.title()           
    13 'Asds23Dfg34'          #子串,首字母大写
    14 >>>
    15 KeyboardInterrupt
    

     四,strip的用法

    Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。

    这三个函数都可传入一个参数,指定要去除的首尾字符。

    需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符

     1 >>> a
     2 'asds23DFG34'
     3 >>> a.strip('a')
     4 'sds23DFG34'
     5 >>> a.strip('s')
     6 'asds23DFG34'
     7 >>> s = 'saaaay yes no yaaaass'
     8 >>> s.strip('say')        #两边都找
     9 ' yes no '                   #两边各有一个空格
    10 >>> s.lstrip('say')       #只找左边
    11 ' yes no yaaaass'        
    12 >>> s.rstrip('say')      #只找右边
    13 'saaaay yes no '

     五,split的用法

    Python split()通过指定分隔符对字符串进行切片

    语法 str.split('分隔符',num)

    • str -- 分隔符,默认为空格。
    • num -- 分割次数。
    • 返回分割后的字符串列表
    • 结果一:把 归为了换行符,所以直接去掉了
    • #!/usr/bin/python
      
      str = "Line1-abcdef 
      Line2-abc 
      Line4-abcd"
      print str.split( )
      print str.split(' ', 1 )
      
      以上实例输出结果如下:
      ['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
      ['Line1-abcdef', '
      Line2-abc 
      Line4-abcd']

       样例:

    >>> str = "asd dfa dadf"
    >>> str.split()
    ['asd', '\dfa', '\dadf']    #自动增加了换行符
    >>> str = "asd \dfa \dadf"
    >>> str.split()
    ['asd', '\dfa', '\dadf']
    >>> aa = str.split()
    >>> aa
    ['asd', '\dfa', '\dadf']
    >>> aa[0]
    'asd'
    >>> aa[1]
    '\dfa'
    >>> aa[2]
    '\dadf'
    >>> bb = r"asdf sdf fsdfe"
    >>> bb.split()
    ['asdf', '\bsdf', '\fsdfe']
    >>> print aa[0]  #自动去掉转义
    asd
    >>> print aa[1]
    dfa
    >>> print aa[2]
    dadf
    >>>
  • 相关阅读:
    CentOS命令找不到
    Docker原理之rootfs
    Docker原理之Namespace
    Docker原理之Cgroups
    Docker目录
    Docker基本使用
    Linux命令之防火墙
    Linux命令目录
    Rancher之主机添加
    oracle-decode函数用法
  • 原文地址:https://www.cnblogs.com/lovychen/p/5167261.html
Copyright © 2020-2023  润新知