• 20201224 字符串常用操作


    1-1
    name = "alex"
    
    print(name.capitalize())
    
    # 所有有下划线的 比如 __ge__ 我们不用管,它们是内部的,是我们不能用的
    1-2
    name = "my name is alex"
    print(name.count("a"))
    1-3
    name = "my name is alex"
    print(name.center(50,"-"))
    1-4
    encode 在Python3 中 将一个字符串 转换成 二进制
    name = "my name is alex"
    print(name.encode(self,encoding,errors))
    1-5
    # endswith 以……结尾  判断字符串 以什么结尾,一致则返回 True
    name = "my name is alex"
    print(name.endswith("ex"))
    # 比如想看一个邮件,是不是以 .com 结尾
    1-6
    name = "my 	name is alex"
    print(name.expandtabs(tabsize=30))
    -→ my                            name is alex
    1-7
    name = "my name is alex"
    print(name.find("y"))
    -→ 1
    # 取出找到的对应字符的索引
    name = "my 	name is alex"
    print(name.find("name"))
    -→ 4   
    为什么返回 4 ? 因为字符串 也可以切片
    print(name[name.find("name"):9])
    -→ name 
    print(name[name.find("name"):])
    --> name is alex
    字符串也可以切片,用法和列表是一样的
    1-8 format 格式化
    name = "my name is {name} and i am {year} old"
    print(name.format(name='alex',year=23))
    --> my name is alex and i am 23 old
    1-9 format_map 
    format_map 中的内容为一个字典
    name = "my name is {name} and i am {year} old"
    print(name.format_map({'name':'alex','year':12}))   这是一个字典,这种语法比较少用,知道 format 即可
    --> my name is alex and i am 12 old
    1-10 isalnum 判断是不是阿拉伯数字
    name = "my name is alex"
    print(name.isalnum())
    --> False
    print('ab23'.isalnum())
    --> True
    包含数字和英文可以,有特殊字符不行
    1-11 isalpha 纯英文字符
    print('ab23'.isalpha())
    --> False
    print('abK'.isalpha())
    --> True
    1-12 isdecimal 是否为十进制
    print('12222'.isdecimal())
    
    1-13 isdigit 是否为整数
    1-14 isidentifier  标识符
    print('1A'.isidentifier())  # 判断是不是一个合法的标识符,其实就是相当于判断是不是一个合法的变量名
    --> False
    print('a1A'.isidentifier())
    --> True
    print('a1A星轨'.isidentifier())
    --> True        # 中文也可以当变量名,只是千万别这么干
    1-15 isnumeric 判断是否为数字,虽然可以用 isdigit;不知道这个存在的目的是什么,忘记它吧
    print('33'.isnumeric())
    print('33.33'.isnumeric())
    
    1-16 isspace() 判断是否为空格
    1-17 istitle() 判断每个字母是否为大写
    print('My name is  '.istitle())  --> False
    print('My Name Is  '.istitle())  --> True
    
    1-18 isprintable() 判断是否可以打印的
    Linux 上的 tty drive file 文件是不能打印的,就会返回 False 用途较少
    
    1-19 isupper 大写
    1-20 join
    print('My Name Is '.join("=="))?
    join的玩法
    print('+'.join(['1','2','3'])) --> 1+2+3
    python3 中 不支持数字,只能通过字符串连接
    
    1-21 ljust() 有两个参数,一个是长度,一个是,,
    name = "my name is {name} and i am {year} old"
    print(name.ljust(50,'*'))
    --> my name is {name} and i am {year} old*************
    长度 50;如果不够,用 * 补上
    
    1-22 rjust() 刚好相反
    name = "my name is {name} and i am {year} old"
    print(name.rjust(50,'-'))
    --> -------------my name is {name} and i am {year} old
    
    1-23 lower() 大写变小写
         upper() 小写变大写
    print('Alex'.lower())  --> alex
    print('Alex'.upper())  --> ALEX
    
    1-24 lstrip()  默认去掉两边的空格和回车  
         lstrip 就是从左边去掉空格和回车
    print('Alex
    '.lstrip())
    print('----')
    
     表示换行
    print('
    Alex'.lstrip())
    print('----')
    
    1-25 rstrip 去掉右边的空格和回车,用法同上
    1-26 strip  就是去掉两边的,全部都去掉
    1-27 maketrans()
    p = str.maketrans("abcdef",'123456')
    print("alex li".translate(p))
    --> 1l5x li   
    是对应的功能,类似于翻译对应的感觉;加密的密码可以这样玩
    必须保证数据一样多
    
    1-28 replace()  替换  
    >>> print('alex li'.replace('l','L',1))
    aLex li
    只替换了一个,因为后面数字为 1 
    
    1-29 rfind()   从左往右,找到最右边,最后面值的下标并返回 
    In [1]: print('alex li'.rfind('l'))
    5
    In [2]: print('alex lil'.rfind('l'))
    7
    1-30 split()  把字符串按空格分出列表
    >>> print('al ex lil'.split(' '))    按空格分
    ['al', 'ex', 'lil']
    >>> print('al ex lil'.split('l'))    按字母 “l” 分
    ['a', ' ex ', 'i', '']
    l 没了,因为 l 被当成 分隔符了
    如何用呢?比如有一段字符,只想提取数字
    >>> print('1+2+3+4'.split('+'))
    ['1', '2', '3', '4']
    
    1-31 splitlines() 如果遇到换行,按换行符分,可以自动识别不同系统的换行
    >>> print('1+2
    +3+4'.splitlines())   
    ['1+2', '+3+4']
    与
    >>> print('1+2
    +3+4'.split('
    '))
    ['1+2', '+3+4']
    是完全一样的效果
    
    1-32 swapcase() 交换大小写
    >>> print('Alex Li'.swapcase())
    aLEX lI
    
    1-33 title()
    >>> print('lex Li'.title())
    Lex Li
    
    1-34 zfill()  可以用于补位
    >>> print('lex li'.zfill(50))
    00000000000000000000000000000000000000000000lex li
  • 相关阅读:
    avalon ms-repeat avalon1
    抓取各个浏览器引擎关键字,,百度学术关键字
    JS中Float类型加减乘除 修复
    js jquery 权限单选 bug修改以及正确代码 购物车数量加减
    图片加载错误默认显示图片
    文本框中焦点竖杆长度控制
    Go语言中 Print,Println 和 Printf 的区别(八)
    typescript中新增的基本数据类型
    尝试自己搭一个简单的typescript运行环境
    Go语言流程控制中的break,continue和goto(七)
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14183819.html
Copyright © 2020-2023  润新知