美文网首页
day4-Python字符串常用内建函数

day4-Python字符串常用内建函数

作者: 2333_11f6 | 来源:发表于2018-11-09 17:31 被阅读0次

    Python字符串常用内建函数

    1. capitalize()

    str1.capitalize() -- 将字符串str1第一个字符转换为大写,若不为字母则无效果

    str1 = 'cjzh'
    new_str1 = str1.capitalize()
    print(new_str1)                     # Cjzh
    

    2. center()

    字符串.center(width,fillchar) -- 居中
    字符串.ljust(width,fillchar) -- 左对齐
    字符串.rjust(width,fillchar) -- 右对齐
    width -- 正整数,表示新的字符串的宽度
    fillchar -- 字符,填充字符串

    str2 = '123'
    new_str2 = str2.center(7, '$')
    print(new_str2)  # 新字符串7个长度,123居中,其余用$填充 $$123$$
    
    new_str2 = str2.ljust(7, '$')
    print(new_str2)  # 新字符串7个长度,123左对齐,其余用$填充 123$$$$
    
    new_str2 = str2.rjust(7, '$')
    print(new_str2)  # 新字符串7个长度,123右对齐,其余用$填充 $$$$123
    

    3. count(str)

    str1.count(str2) -- 返回str2在str1中出现的次数

    str3 = 'cj1cj2cj3cj4cj5'
    n = str3.count('cj')
    print(n)                        # 5
    

    4. bytes.decode(encoding="utf-8", errors="strict")

    5. encode(encoding='UTF-8',errors='strict')

    6. endswith()

    str1.endswith(char1) -- 检查str1是否以char1结尾,返回值为布尔

    str6 = 'cj1cj2cj3'
    bool1 = str6.endswith('3')
    print(bool1)                       #True
    

    7. expandtaps(tabsize=8) -- 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8

    8. find(str,beg=0,end=len(string))

    str1.find(str2,0,len(str1)) -- 在指定下标范围0~len(str1)内,检查str2是否包含其中,如果包含则返回首个str2(此处为左起第一个类比rfind())开始的下标,否则返回-1

    str8 = '0cj1cj2cj'
    n1 = str8.find('cj', 0, 9)
    n2 = str8.find('3', 0, 9)
    print(n1)                          # 1
    print(n2)                          # -1
    

    9. index(str,beg=0,end=len(string))

    str1.index(str2,0,len(str1)) -- 在指定下标范围0~len(str1)内,检查str2是否包含其中,如果包含则返回首个str2开始的下标,否则报一个异常:ValueError: substring not found。

    str9 = '1cj2cj'
    n = str9.index('2')     #不写范围则默认整个字符串
    print(n)                # 3 如果报异常则以下代码会出错
    

    10. isalnum()

    str1.isalnum() -- 判断str1是否所有字符都是字母或数字,是则返回True,否则返回False。

    str10 = '1cj2cj'
    bool2 = str10.isalnum()
    print(bool2)                   #True
    

    11. isalpha()

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

    str11 = 'abcdd'
    print(str11.isalpha())       #True
    

    12. isdigit()

    str1.isdigit() -- 如果str1只包含数字则返回 True 否则返回 False.

    print('16217cj1421621'.isdigit())       #False
    

    13. islower()

    str1.islower() -- 如果str1中包含至少一个区分大小写的字符(拉丁文也区分大小写),并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

    print('cj12837138zh'.islower())   #True
    

    14. isnumeric()

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

    str14 = '1一Ⅰ壹幺'
    print(str14.isnumeric())            #True
    

    15. isspace()

    str1.isspace() -- 如果str1中只包含空白,则返回 True,否则返回 False.用于判断str1是否为空。

    str15 = '     '
    print(str15.isspace())     #True 空指的是空格,不是None''
    

    16. istitle()

    str1.istitle() -- 如果str1是标题化的(见 title())则返回 True,否则返回
    False

    str16 = 'Cj Zh Qf '
    print(str16.istitle())          # True
    

    17. isupper() 类比 islower()相反

    str1.isupper() -- 如果str1中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

    str17 = 'AJKIHdkdj12124'
    print(str17.isupper())       # False
    

    18. join(seq) 类比 sep =

    str1.join(str2) -- 以str1作为分隔符,分隔str2每一个字符,将str2中所有的元素(的字符串表示)合并为一个新的字符串。

    str18 = '¥'
    new_str18 = str18.join('money')
    print(new_str18)          # m¥o¥n¥e¥y
    

    19. len(str)

    len(str1) -- 返回str1的长度

    str19 = '0123456'
    print(len(str19))    # 7
    

    20. ljust(width, fillchar)

    返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。见2

    21. lower()

    str1.lower() -- 转换str1中所有大写字符为小写。

    str21 = 'aAbBcCjJ'
    print(str21.lower())       # aabbccjj
    

    22. lstrip()

    str1.lstrip(char) -- 截掉str1左边的空格或指定字符。默认为空格

    str22 = '    cjcjcjcjcj'
    new_str22 = '#*#jcjcjcjcj'
    print(str22.lstrip())              #'cjcjcjcjcj'
    print(new_str22.lstrip('#'))       #'*#jcjcjcjcj'
    

    23. maketrans() ??????????

    str1.maketrans() -- 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

    24. max(str)

    max(str1) -- 返回str1中编码值最大的字母

    str24 = 'aAbBcCjJ'
    print(max(str24))         # j
    

    25. min(str)

    min(str1) -- 返回str1中编码值最小的字母

    str25 = 'aAbBcCjJ2234'
    print(min(str25))             #  2
    

    26. replace(old,new,max)

    str3.replace(str1,str2,max]) -- 把str3中的str1替换成str2,如果max 指定,则替换不超过 max 次。

    str26 = 'aaaaaabbbbbbcccccc12344'
    new_str26 = str26.replace('a', '$', 3)
    print(new_str26)           # '$$$aaabbbbbbcccccc12344'
    

    27. rfind(str,beg=0,end=len(string))

    str1.rfind(str2,0,len(string)) -- 从右边开始检测 str2是否包含在str1中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值(正),否则返回-1

    str27 = '1cj2cj3cj4zh'
    print(str27.rfind('c'))        # 7  即右起第一个c的位置!!
    print(str27.rfind('jc'))       # -1 没有‘jc’
    

    28 rindex(str,beg=0,end=len(string))

    str1.rindex(str2,0,len(str1)) -- 从右边开始检测 str2是否包含在str1中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值(正),否则返回-1。即:右起第一个str2的开始正下标

    str28 = 'abababcjcjcjzhzhzh'
    print(str28.rindex('cj'))         #  10 右起第1个‘cj’的开始下标
    

    29. rjust(width,fillchar)

    具体使用见 2

    30. rstrip()

    str1.rstrip(char1) -- 删除str1末尾的指定字符char1,直到不为char1为止,默认char1为空格。

    str30 = '1234asdfcj   '
    new_str30 = '1234asdfcj#*##'
    print(str30.rstrip())                 # 1234asdfcj
    print(new_str30.rstrip('#'))          # 1234asdfcj#*
    

    31. split()

    str1.split(str2,num) -- 用char1为分隔符截取str1为一个列表,num表示截取次数默认为char1在str1中出现的次数 即num(默认)=str1.count(str2)。

    str31 = 'abc##def##ghi##334##678'
    print(str31.split('##', 2))            #截取两次 ['abc','def','ghi##334##678']
    

    32. splitlines([keepends])

    str1.splitlines(bool) -- 将字符串str1按照行('\r', '\r\n', \n')分隔,返回
    一个包含各行作为元素的列表,如果bool为 False,不包含换行符,如果为 True,则保留换行符。

    str32 = '123\n456\r888\n'
    print(str32.splitlines(True)) # ['123\n','456\r','888\n']
    

    33. startswith(str,beg=0,end=len(string))

    str1.startswith(str2,0,len(str1)) -- 检查str1是否是以str2开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

    str33 = '123321'
    print(str33.startswith('12'))   # True
    

    34. strip(char)

    str1.strip(char1) -- 删除str1左边lstrip()和右边rstrip的字符char1

    str34 = '$$123456$$'
    print(str34.strip('$'))   # 123456
    

    35. swapcase()

    str1.swapcase() -- 将str1中大写转换为小写,小写转换为大写

    str35 = 'aAbBcCjJ'
    print(str35.swapcase())   # AaBbCcJj
    

    36. title()

    str1.title() -- 返回"标题化"的str1,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

    str36 = 'student is teacher' #注意单词之间要用空格隔开
    print(str36.title())        # Student Is Teacher
    

    37. translate(table, deletechars="") ???????????????

    根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中

    38. upper()

    str1.upper() -- 转换str1中的小写字母为大写

    str38 = 'AaBbCcJj'
    print(str38.upper())        # AABBCCJJ
    

    39. zfill(width)

    str1.zfill(n) -- 将str1返回为长度n的新字符串,以原字符串右对齐,前面填充0。

    str39 = '123cjcjcj'
    print(str39.zfill(12))  # 000123cjcjcj
    print(str39)           # 123cjcjcj
    

    40. isdecimal()

    str1.isdecima() -- 检查str1是否只包含十进制字符,如果是返回 true,否则返回 false。

    str40 = '3123443'
    print(str40.isdecimal())       # True
    

    相关文章

      网友评论

          本文标题:day4-Python字符串常用内建函数

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