• Python之数据结构:字符串中的方法


    一、过滤字符串
    1、strip()
    (1)去掉行收尾不可见字符
    a = ' wejifrow '
    print a
    print a.strip()
    结果:
    wejifrow
    wejifrow
    (2)strip([chars])
    a = '**weji**frow**'
    print a.strip('*')
    结果:
    weji**frow
    (3)lstrip([chars]) rstrip([chars])
    s='* dwiefi **'
    print s.lstrip('*')
    print s.rstrip('*')
    结果:
    dwiefi **
    * dwiefi
     
    str1=r' andwf '
    print str1
    print str1.strip()
    print str1.strip(' f ')
    结果:
    andwf
    andwf
    andwf
     
    二、大小写互换
    1、ASCII值来换 ord chr
    2、
    s1.lower() 大写转换为小写
    s2.upper() 小写转换成大写
    s3.swapcase() 大小写互换
    3、
    句子的第一个单词的首字母转换为大写 s4.capitalize()
    句子的所有单词首字母都需要大写(模块方法):
    import string
    string.capwords(s5)
    或者s5.title()
     
    4、string模块
    import string
    string.uppercase
    string.lowercase
     
    三、字符串对齐
    1、s.ljust(width,[fillchar]) 左对齐
    s.rjust(width) 右对齐
    width定义长度
    fillchar:使用什么字符来补齐
    s='123abc'
    print s.ljust(10,'*')
    结果:123abc****
     
    print 'lilili'.ljust(15),'female'.ljust(10),'23'.ljust(5),'zhouzhou'.ljust(15)
    与print '%-15s %-10s %-5s %-15s'%('lili','女','23','zhouzhou')效果一样
    2、中间对齐 s.centerwidth,[fillchar])
    print s.center(15,'*')
    结果:*****123abc****
     
    3、s.zfill(width)
    s.zfill(10) ==s.rjust(10,'0')
    结果:0000123abc
     
    四、搜索
    1、s.find(substr,[start,[end]])
    substr在s字符中出现的第一个的下标
    start end:从s字符串的下标为start的位置开始,下标为end-1的位置结束
    没有找到 返回 -1
     
    2、s.index(substr,[start,[end]])
    说明:[start,[end]] 有end的情况,必须有start
    find与index方法的区别:
    find:返回-1
    index:如果没有找到,会抛出异常:ValueError: substring not found
    使用会抛异常的 做异常分支处理 (APP崩溃经常是没有捕获这类异常引起的)
    try:
    pass
    except:
     
    3、s.rfind(subStr,[start[,end]])
    从字符串的右侧进行查找
    s='boy boy'
    print s.find('boy')
    print s.rfind('boy')
    结果:
    0
    4
     
    4、s.rindex(subStr,[start[,end]])
    s='boy boy'
    print s.rindex('boy')
    结果:
    4
     
    五、字符串替换
    1、s.replace(oldStr,newStr,[count])
    使用newStr替换oldStr。
    count:替换多少次
    没有返回值,需要s=s.replace()
     
    2、s.expandtabs([tabsize])
    把制表符替换成空格
    tabsize:默认一个tab键替换为8个空格, 把一个tab键替换成tabsize个空格
     
    六、字符串切割
    1、s.split([sep[,maxsplit]])
    sep:以s字符串中的seq字符串来分隔
    maxsplit:从左往右分隔的次数
     
    2、s.splitlines([keepends])
    分隔行,以换行符( )
    keepends=true,保留换行符。默认值为False
     
    3、s.rsplit([sep[,maxsplit]])从字符串右侧开始切割
     
    七、列表转换为字符串
    1、s.join()由字符串组成的列表拼接成字符串
     
    2、s.startwith(subStr)
    字符串s是否以subStr子串开头,返回值 true or false
    s.endswith(subStr)
    字符串s是否以subStr子串结尾,返回值 true or false
     
    3、s1 in s
    判断s1子串是否在字符串s中
     
    八、判断字符串
    1、s.isalpha()
    s字符串是否都是有字母组成,并且至少由一个字符组成
     
    2、s.isalnum()
    s字符串是由字母或者数字组成,并且至少由一个字符组成
     
    3、s.isdigit()
    s字符串中的字符都是由数字组成的,并且至少由一个字符组成
    ‘12.23’.isdigit() 结果是FALSE
     
    4、s.isspace()
    判断s字符串是否由空格组成,并且至少由一个字符组成
    只要是空白的,就认为是空格
     
    5、s.islower()
    判断字符串s中的字母(可以包含其他的字符)是否都是小写,并且至少有一个字母
    TRUE or Flase
    ‘a1’.islower() 结果为True
     
    6、s.isupper()
    判断字符串s中的字母(可以包含其他的字符)是否都是大写,并且至少有一个字母
     
    7、s.istitle()
    判断字符串s中的所有单词的首字母是大写,其他字母为小写,并且至少有一个字母
     
    8、
    import string
    string.maketrans(from,to)
    映射表,做编码和解码的时候使用
    例如:
    mapTable=string.maketrans(‘123’,‘abc’)
    s='111abc123abc‘
    print s.translate(mapTable)
    结果:
    aaaabcabcabc
     
    九、数字类型的转换
    int()
    float()
    long()
    import string
    1、string.atoi(s,a) 还可以转换八进制,十六进制
    a:代表的是进制数
    s='18'
    print int(s)
    print string.atoi(s)
    结果:
    18
    18
    print string.atoi('011',8) 9
    print string.atoi('0x11',16) 17
     
    2、string.atol('11') 11
    3、string.atof('1.23456') 1.23456
     
    十、
    1、ord() 字母转换为对应的ASCII值
    2、chr() 把数字转换成对应的字符
    3、
    s.encode([encoding[,errors]]) 编码函数 把Unicode编码为需要的
    encoding:编码的类型
    errors:默认值’strict‘。ignore(忽略)
    s.decode() 解码函数 解码为Unicode格式
     
     
  • 相关阅读:
    mysql分表场景分析与简单分表操作
    Linux内嵌汇编
    window 和 linux x64差别
    sourcetree和gitlab配置图解
    QT如何管理组件(解决“要继续此操作,至少需要一个有效且已启用的储存库”问题)
    QT5.x应用在Mac OS X和Windows平台的发布过程
    python中读写二进制文件
    mysql分表的3种方法
    MySQL-C++封装类
    MySQL删除数据库时无响应解决办法
  • 原文地址:https://www.cnblogs.com/emily-qin/p/6994503.html
Copyright © 2020-2023  润新知