Phtyon基础类解析-str

Phtyon基础类解析

一、str

  1. capitalize

    功能:字符串第一个字母大转换大写,其它字母转小写

    print("alsdfjsAFSFEG. asdfFEFE".capitalize())
    #输出
    Alsdfjsafsfeg. asdffefe
    
  2. casefold

    功能:所有字母转成小写

    print("String.Hash()".casefold())
    #输出
    string.hash()
    
  3. center

    功能:字符串开头和结尾添加空格来补齐给定的长度,如果左右两边总数为单数,则右边多一个空格

    print("abc".center(7, "#"))
    print("abc".center(8))
    print("abc".center(1))
    print(" abc ".center(1))
    #输出
    '##abc##' 	左边两个空格、右边两个空格
    '  abc   '	左边两个空格、右边3个空格
    'abc'				宽度的值小于字符串,不做任何处理
    ' abc '		
    
    
  4. count

    功能:统计指定的字符串在当前字符串中出现的次数

    print("abcdefg".count("zz"))
    print("abccccc".count("c"))
    print("aaaaaa".count("a", 0, 2))
    #输出
    0			
    5
    2
    
  5. encode

    功能:返回字符串编码后的数据,默认的编码是当前的字符串编码

    def handler(exc):
        print(exc)
        return 'custom error', exc.end
    
    
    codecs.register_error('test.handler', handler)
    
    Str = "您好"
    Str = Str.encode("utf-8")
    print(f"###encode###{Str}")
    ###iso-8859-1,不支持中文,会报错执行handler方法
    Str = "您好"
    Str = Str.encode("iso-8859-1", errors='test.handler')
    
    print(f"###iso-8859-1###{Str}")
    
    #输出
    ###encode###b'\xe6\x82\xa8\xe5\xa5\xbd'
    'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)
    ###iso-8859-1###b'custom error'
    
    
  6. endswith

    功能:判断字符串是否以指定字符结尾

    Str = "abcdefg1234567890"
    
    print(f"########{Str.endswith('90')}")
    print(f"########{Str.endswith('b',0, 2)}")
    
    #输出
    ########True
    
  7. expandtabs

    功能:填充tab(\t)空格数量,tabSize不设置默认为8

    Str = "hello\tword\t\nhell\tword\nhellowo\tend"
    print("1234567890")
    print(f"{Str.expandtabs(tabsize=8)}")
    
    #输出
    hello   word    
    hell    word
    hellowo end
    
  8. find

    功能:查找字符串匹配给定的最小索引,_sub第一个参数为要查找的字符串,start第二个参数为起始值,end第三个参数为结束值,__start和**__end**指定要查检字段的范围

    find和index区别

    • find找不到返回-1
    • index报错(ValueError: substring not found)
    Str = "hello word word"
    print(f"##len: {len(Str)}")
    print(f"##index: {Str.find('word')}")
    print(f"##index: {Str.find('word', 5, 10)}")
    print(f"##index: {Str.find('word', 7, 10)}")
    print(f"##index: {Str.find('word', 7, 15)}")
    
    #输出
    ##len: 15
    ##index: 6
    ##index: 6
    ##index: -1
    ##index: 11
    
  9. format

    功能:字符串格式化,字符串中使用’{}'标记需要替换的地方,如果大括号中不放数字,就按顺序替换大括号,如果大括号中放中数字标识替换顺序,则按数字顺序替换,标记顺序的数字必须是从0开始,中间不能缺失序号,比例{0}{2},这样会报错。下面例子中的f"###{}",其中f是format的缩写

    Str = "hello {}"
    print(f"#####{Str.format('hilary')}")
    Str = "hello {},the word {}"
    print(f"#####{Str.format('hilary', 'bea')}")
    Str = "hello {1},the word {0}"
    print(f"#####{Str.format('hilary', 'bea')}")
    print("{}.{}.{}".format('1小时','5分', '23秒'))
    
    #输出
    #####hello hilary
    #####hello hilary,the word bea
    #####hello bea,the word hilary
    1小时.5.23
  10. format_map

    功能:字符串格式化,和format的区别是一个是按list替换数据,一个是通过key来替换数据,如果map中数据多于要替换的是可以正常执行的,如果要格式化的数据key在map中找不到则会报错

    Str = "hello {a},{b}"
    replay_map = {'a': '1', 'b': 2}
    print(f"#####{Str.format_map(replay_map)}")
    
  11. index

    功能:返回指定字符在目标字符串中的最小索引值,参数__start和end指定目标字符串中检查的区域,详情见find

    find和index区别

    • find找不到返回-1
    • index报错(ValueError: substring not found)
  12. isalnum

    功能:判断字符串中的所有字符都是字母数字且字符串中至少有一个字符时,返回True,否则返回False

  13. isalpha

    功能:如果字符串中的所有字符都是字母,那么该字符串就是字母且字符串不能为空。

  14. isascii

    功能:ASCII字符的码位范围是U+0000-U+007F。空字符串也是ASCII。

  15. isdecimal

    功能:如果字符串中的所有字符都是十进制和十进制,则该字符串为十进制字符串,字符串不能为空。

  16. isdigit

    功能:如果字符串中的所有字符都是数字,则是数字字符串,字符串不能为空。

  17. isidentifier

    功能:判断字符是否为pythone合法的标识符,使用**keyword.iskeyword(s)**来判断是否为保留字符

  18. islower

    功能:判断字符串是否为小写字符串,字符串中所有的字母a-z为小写不能包含大写字母A-Z,字符串中可以包含其它特殊字符,也样也包含中文,均识为小写,但字符串第一个字母必须为小字a-z字母

  19. isnumeric

    功能:判断字符串是否为数字

  20. isprintable

    功能:字符串中是否包含非打印可见的字符:\t,\n

  21. isspace

    功能:字符串是否是由空格组成,字符串中包含非空格字符返回False,\t,\n 为空格字符

  22. istitle

    功能:字符串中每个单词首写字母是否为大写

    '\U00010401\U00010429'.istitle()	𐐁𐐩//True
    'My name'.istitle()	//False
    'My Name'.istitle()	//True
    'ID'.istitle()	//False
    
  23. isupper

    功能:字符串只包A-Z为True,否则为False,与islower正好相反

  24. join

    功能:拼接字符串,以前面字符分隔

    '.'.join(['ab', 'pq', 'rs']) 
    
    #输出
    ab.qp.rs
    
  25. ljust

    功能:字符串不够长度时末尾追回指定字符串,默认追回空格

    print(f"#####{'abc'.ljust(6,)}#")
    print(f"#####{'abc'.ljust(6,'*')}#")
    print(f"#####{'abc'.ljust(2,'*')}#")
    
    #输出
    #####abc   #
    #####abc***#
    #####abc#
    
  26. lower

    功能:字符串中的大写字母转成小写字母

  27. lstrip

    功能:删除字符串前导空格,\t,\n 均视为空格

  28. maketrans

    功能:返回一个str.translate()方法使用的表,

    • 一个参数:map键值对,把key转换成Unicode,如果非Unicode值会报错
    • 两个参数:这两个参数为长度相同的字符串,否则会报错
    • 三个参数:前两个参数为长度相同的字符串,第三个值取第一个字符的Unicode值作为key,value为None
    table = str.maketrans({'a': '1', 'b': 2, 'c': 3})
    table2 = str.maketrans('abc', '123', 'DD')
    
    #输出
    ###table##{97: '1', 98: 2, 99: 3}
    ###table2##{97: 49, 98: 50, 99: 51, 68: None}
    
  29. partition

    功能:用给定的字符串把目标字符串分隔成三部分:分隔符前的内容,分隔符,分隔符后的内容,如果目标串中未发现分隔符,则结果也是三部分:第一部分为全部内容,后两部分为空。

    result = 'mississippi'.partition('ss')
    result2 = 'mississippi'.partition('aa')
    print(f"###result: ${result}")
    print(f"###result2: ${result2}")
    
    #输出
    ###result: $('mi', 'ss', 'issippi')
    ###result2: $('mississippi', '', '')
    
  30. removeprefix

    功能:移除字符串起始指定字符并返回新的字符串,如果移除失败则原样返回

    result = 'mississippi'.removeprefix('miss')
    result2 = 'mississippi'.removeprefix('iss')
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    
    #输出
    ###result: issippi
    ###result2: mississippi
    
  31. removesuffix

    功能:移除字符串结尾字符并返回移除后的新字符串,移除失败原样返回旧字符串,例子见:removeprefix

  32. replace

    功能:把目标字符串中的旧字符替换成新的字符,并把结果返回。oldnew为必传字段,count默认为-1,替换所有,为正数则规则指定count字的字符串

  33. rfind

    功能:查找目标字符串最大的索引值,详情见:find

  34. rindex

    功能:查找目标字符串最大的索引值,详情见:infex

  35. rjust

    功能:字符串不够长度时,在前面添加指定字符,默认是空格,见:ljust

  36. rpartition

    功能:用给定的字符串把目标字符串分隔成三部分:分隔符前的内容,分隔符,分隔符后的内容,从右开始查找,如果未找到,目标内容全部显示在第三部分,前两个空字符串。见: rpartition

  37. rsplit和split

    功能:通过指定字符拆分目标字符串,返回结果为数组。参数为空时,分隔符为:空格、\n、\t、\f、\r

    split为从左开始,rsplit为从右开始,maxsplit为最大分隔次数

    result = 'missi ssippi\taa'.rsplit()
    result2 = 'mississippi'.rsplit('si', maxsplit=1)
    result3 = 'mississippi'.split('si')
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    print(f"###result3: {result3}")
    
    #输出
    ###result: ['missi', 'ssippi', 'aa']
    ###result2: ['missis', 'ppi']
    ###result3: ['mis', 's', 'ppi']
    
  38. rstrip

    功能:删除字符串后导空格,\t,\n 均视为空格,如果传参,则删除字符串最后的字符

    result = 'mississippi  \t'.rstrip()
    result2 = 'mississippi'.rstrip('pi')
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    
    #输出
    ###result: mississippi
    ###result2: mississ
    
  39. splitlines

    功能:以\n为分隔符,分隔字符串,默认\n不显示在列表中,参数keepends=True时\n显示在列表中

    result = 'miss\nissi\nppi'.splitlines(keepends= True)
    result2 = 'miss\nissi\nppi'.splitlines()
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    
    #输出
    ###result: ['miss\n', 'issi\n', 'ppi']
    ###result2: ['miss', 'issi', 'ppi']
    
  40. startswith

    功能:判断目标字符串是否以指定字符串开头,也可以指定在某个位置开始

    result = 'mississippi'.startswith('mi')
    result2 = 'mississippi'.startswith('ss', 2, 5)
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    
    #输出
    ###result: True
    ###result2: True
    
  41. strip

    功能:删除字符串起始和结尾的空字符串,也可以是指定字符串,见:lstriprstrip

  42. swapcase

    功能:字符串大小写相互转换

    result = 'mississippimi'.swapcase()
    result2 = result.swapcase()
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    
    #输出
    ###result: MISSISSIPPIMI
    ###result2: mississippimi
    
  43. title

    功能:把字符串中的每个单词转换成首个字母大写其它小写

    result = 'miss issippimi'.title()
    result2 = 'MISS ISSIPPIMI'.title()
    print(f"###result: {result}")
    print(f"###result2: {result2}")
    
    #输出
    ###result: Miss Issippimi
    ###result2: Miss Issippimi
    
  44. translate

    功能:用给定的表转换字符串中的每个字符,表中key为查询条件,value为替换结果值

    table = str.maketrans({'a': '1', 'b': '2', 'c': '3'})
    result = 'abcde'.translate(table)
    print(f"##translate###{result}")
    
    #输出
    ##translate###123de
    
  45. upper

    功能:字符串所有字母转大写

  46. zfill

    功能:字符串左边填充前导0字符串

    result = 'mississippimi'.zfill(15)
    print(f"###result2: {result}")
    
    #输出
    ###result2: 00mississippimi
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值