美文网首页
python字符串相关函数

python字符串相关函数

作者: 憧憬001 | 来源:发表于2018-11-08 22:00 被阅读0次

    Python 的字符串常用内建函数如下:

    1.统计

    • count(str)返回 str 在 string 里面出现的次数
    • len(string)返回字符串长度
    str1 = "123456789066666"
    print(str1.count("6"))
    print(len(str1))
    
    
    

    执行结果:6、15

    2.对齐

    • 字符串.center(width, fillchar) - 居中
    • 字符串.ljust(width, fillchar) - 左对齐
    • 字符串.rjust(width, fillchar) - 右对齐
    • zfill (width)返回长度为 width 的字符串,原字符串右对齐,前面填充0
      width - 正整数,表示新的字符串的宽度
      fillchar - 字符, 填充字符串
    str1 = '居中'
    new_str = str1.center(8, '*')
    print(new_str)
    
    str2 = "左对齐"
    new_str = str2.ljust(7, '*')
    print(new_str)
    str3 = "右对齐"
    new_str = str3.rjust(7, '*')
    print(new_str)
    

    效果如下

    ***居中***
    左对齐****
    ****右对齐
    

    3.最值

    • max(字符串):返回字符串 str 中最大编码值所对应的字符串
    • min(字符串):返回字符串 str 中最小编码值所对应的字符串
    print(max('ahajsxnzh4784mkou'))
    print(min('ftyrejibhxnzh23456njiu'))
    

    4.查找与替换

    查找
    • 字符串.startwith(查找值) 如果是,返回 True,否则返回 False
    • 字符串.endwith(查找值) 如果是,返回 True,否则返回 False
    str1 = "123456"
    print(str1.startswith("12"))
    print(str1.endswith("6"))
    

    执行结果:都是True

    • find(str, beg=0 end=len(string))检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
    • rfind(str, beg=0,end=len(string))类似于 find()函数,不过是从右边开始查找
    • index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在字符串中会报一个异常
    • rindex( str, beg=0, end=len(string))类似于 index(),不过是从右边开始
    str1 = "123456"
    print(str1.find("3"))
    print(str1.rfind("6"))
    print(str1.find("7"))
    print(str1.index("3"))
    print(str1.rindex("6"))
    
    2
    5
    -1
    2
    5
    
    • isdecimal()|检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false
    替换
    • replace(old, new [, max])把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次
    str1 = "123456"
    str2 = "abc"
    print(str1.replace("123", str2))
    

    执行结果:abc456

    • 字符串.capitalize() - 将字符串第一个字符转换成大写
    str1 = 'hello'
    new_str = str1.capitalize()
    print(new_str)
    

    执行结果:Hello

    • upper()转换字符串中的小写字母为大写
    • lower()转换字符串中所有大写字符为小写
    • swapcase()将字符串中大写转换为小写,小写转换为大写
    str1 = "abc***DEF***123456"
    print(str1.upper())
    print(str1.lower())
    print(str1.swapcase())
    
    ABC***DEF***123456
    abc***def***123456
    ABC***def***123456
    

    5.判断

    • isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False

    • isalpha()如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False

    • isdigit()如果字符串只包含数字则返回 True 否则返回 False..

    str3 = "123456abc"
    print(str3.isalnum())
    print(str3.isalpha())
    print(str3.isdigit())
    print(str3.isdecimal())
    

    执行结果:True、False、False、False

    • islower()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
    • isupper()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
    str3 = "123456abc"
    print(str3.islower())
    print(str3.isupper())
    

    执行结果:True、False

    • isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)

    • isspace()如果字符串中只包含空白,则返回 True,否则返回 False.

    • istitle()如果字符串是标题化的(见 title())则返回 True,否则返回 False

    str4 = "123一二三壹幺萬"
    str5 = " "
    str6 = "Asjdkjdk123"
    print(str4.isnumeric())
    print(str5.isspace())
    print(str6.istitle())
    

    执行结果:True、True、True

    6.截取、合并和删除

    • lstrip()截掉字符串左边的空格或指定字符
    • split(str="", num=string.count(str))num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
    • rstrip()删除字符串字符串末尾的空格
    • join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    str2 = "  000 000**00"
    print(str2.lstrip())
    str3 = "**0000   "
    print(str3.lstrip("**"))
    str4 = "123abc000"
    print(str4.split("23"))
    print(str3.rstrip())
    
    str5 = '**'
    str6 = 'abc'
    print(str5.join(str6))
    
    
    000 000**00
    0000
    ['1', 'abc000']
    **0000
    a**b**c
    

    7.其他

    • bytes.decode(encoding="utf-8", errors="strict")Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回
    • encode(encoding='UTF-8',errors='strict')以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
    • expandtabs(tabsize=8)把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8
    • title()返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
    • translate(table, deletechars="")根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
    • splitlines([keepends])按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符
    • maketrans()创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标

    相关文章

      网友评论

          本文标题:python字符串相关函数

          本文链接:https://www.haomeiwen.com/subject/szuwxqtx.html