zoukankan      html  css  js  c++  java
  • 2_字符串

    1. 字符串的比较

           1.1 单个字符的比较

    s='a'
    d=97
    
    >>>ord(s)
    97								##返回该字符的ASCII码
    
    >>>chr(d)
    a								##返回该整数对应的字符
    

           1.2 多字符的比较

    >>>'ab'<'abc'					##前缀一样,谁长谁叼
    True
    
    >>>'ab'<'ac'					##顺序比较,谁第一个字符大谁叼
    True
    


    2. 常用字符串方法

           2.1 子串查找

    s='apple,peach,banana,peach,pear'
    sub='peach'
    
    >>>s.find(sub)					##返回子串第一个字符出现的位置
    6
    
    >>>s.find(sub,7)				##指明从哪开始找
    19
    
    >>>s.find(sub,7,20)				##找不到返回-1
    -1
    
    >>>s.rfind(sub)					##逆向查找子串的位置
    19
    
    >>>s.index(sub,7,20)			##找不到返回异常
    ValueError
    
    >>>s.partition(sub)				##以第一个子串为中间值返回一个三元组
    ('apple,', 'peach', ',banana,peach,pear')
    

           2.2 字符串分割

    s='apple,peach,banana,peach,pear'
    
    >>>li=s.split(',',1)			##以分隔符逗号划分字符串1次,返回列表形式
    ['apple', 'peach,banana,peach,pear']
    
    ss='''I am
    a
    good
    student
    !
    '''
    
    >>>s.splitlines()				##以行为分割,返回列表形式
    ['I am', 'a', 'good', 'student', '!']
    

           2.3 字符串连接

    li=['apple','peach','banana','peach','pear']
    sep=','
    
    >>>s=sep.join(li)				##以分隔符逗号连接列表中的元素,返回字符串
    'apple,peach,banana,peach,pear'
    

           2.4 字符串替换

    s='apple,peach,banana,peach,pear'
    
    >>>s1=s.replace('peach','apple')	##用apple替换字符串中的所有peach
    'apple,apple,banana,apple,pear'
    
    >>>s2=s.replace('peach','apple',1)	##指定替换次数(顺序)
    'apple,apple,banana,peach,pear'
    

           2.5 删除空格

    s=' a b c '
    
    >>>s1=s.strip( )					##删除字符串的首尾空格
    'a b c'
    
    >>>s2=''.join(s.split(' '))			##组合方法删除字符串中的所有空格
    'abc'								##同理其他字符也可以
    

           2.5 计数子串次数

    s='apple,peach,banana,peach,pear'
    sub='peach'
    
    >>>cnt=s.count(sub,1,30)			##在指定起始位置计算子串出现的次数
    2
    


    3. 格式化字符串

           3.1 格式化命令的通用结构:

    [\%[(name)][flags][width].[precision]typecode ]

           3.2 format函数格式化

                  3.2.1 通过位置匹配参数
    >>>'{0},{1}'.format('a','b')
    'a,b'
    
    >>>'{1},{0}'.format('a','b')
    'b,a'
    
                  3.2.1 通过名称匹配参数
    >>>'{color} and {food}'.format(color='red',food='egg')
    'red and egg'
    
                  3.2.1 指定进制
    >>>'int:{0:d};hex:{0:x};oct:{0:o};bin:{0:b};'.format(42)
    'int: 42;hex: 2a;oct: 52;bin: 101010'
    
    >>>'int:{0:d};hex:{0:#x};oct:{0:#o};bin:{0:#b};'.format(42)
    'int: 42;hex: 0x2a;oct: 0o52;bin: 0b101010'
    

           3.3 格式规约

    >>>'{:<20}'.format('left aligned')
    >>>'{:>20}'.format('left aligned')
    >>>'{:^20}'.format('left aligned')
    >>>'{:20}'.format('left aligned')
    >>>'{:-^20}'.format('left aligned')
    >>>'{:.<20}'.format('left aligned')
    >>>'{:.20}'.format('left aligned')
    
    'left aligned        '
    '        left aligned'
    '    left aligned    '
    'left aligned        '
    '----left aligned----'
    'left aligned........'
    'left aligned'
    


    4. 字符串遍历

           4.1 普通遍历

    s='information'
    
    >>>length=len(s)
    >>>for x in range(length):
        print(x,end=' ')
    0 1 2 3 4 5 6 7 8 9 10
    
    >>>for x in range(length):
        print(s[x],end=' ')
    i n f o r m a t i o n
    

           4.2 迭代器遍历

    s='information'
    
    >>>for index,x in enumerate(s):
        print(index,x)
    0 i
    1 n
    2 f
    3 o
    4 r
    5 m
    6 a
    7 t
    8 i
    9 o
    10 n
    
  • 相关阅读:
    题解——栈(卡特兰递归数的应用)
    题解——主的赦免(递归的进一步理解)
    sql开窗函数 row_number () over(order by id )
    c# resources
    Fillder 转载
    用javascript实现控制打开网页窗口的大小 和HTML如何关闭窗口的技巧大全
    datatable 与dataview的区别
    Asp.net中DataBinder.Eval用法的总结
    FrameSet左右收缩编码
    ajax get post
  • 原文地址:https://www.cnblogs.com/machine-lyc/p/10622113.html
Copyright © 2011-2022 走看看