zoukankan      html  css  js  c++  java
  • python课堂整理3---字符串魔法

    字符串魔法

    1.首字母大写功能

    test = "alex"
    v = test.capitalize()
    print(v)
    

    2.所有变小写(casefold更厉害,可以将很多未知的其他国家字符变小写)

    test = "ALex"
    v1 = test.casefold()
    print(v1)
    v2 = test.lower()
    print(v2)
    

    3.设置宽度,并将内容居中,20代指总长度,*为空白位置填充一个字符,可有可无。

    test = "alex"
    v = test.center(20, "*")
    print(v)
    

    4.统计某字符出现的次数,可以设置起始和结束位置,可以不设置

    test = "alexalexr"
    v = test.count('ex',5,8)
    print(v)
    

    5.判断以什么什么结尾或开始,也可以指定起始和结束位置

    test = "alex"
    v1 = test.endswith('x')
    v2 = test.startswith('b')
    print(v1)
    print(v2)
    

    6.以下面代码为例,从a开始数16个为一组,遇到/t,则由/t用空格补齐剩下的数量(补齐16个),默认是8个为一组。

    test = "alex	dabai"
    v = test.expandtabs(16)
    print(v)
    

    7.从开始往后找,找到第一个后,获取其位置,找不到的话返回 -1,可以指定起始和结束位置

    test = "alexalex"
    v1 = test.find("ex")
    v2 = test.find("ex", 5, 7)
    print(v1)
    print(v2)
    

    8.格式化,将字符串中的占位符替换为指定的值

    test1 = "i am {name}"
    print(test1)
    v1 = test1.format(name = 'alex')
    print(v1)
    test2 = "i am {0},age{1}"
    print(test2)
    v2 = test2.format('Iro man',35)
    print(v2)
    

    9.和8效果一样,传入的值为字典类型

    test = "i am {name},age{a}"
    v = test.format_map({"name":"Iro man", "a":35})
    print(v)
    

    10.和find功能一样,但是找不到会报错,可忽略,建议用find

    test = "alexalex"
    v1 = test.index("ex")
    print(v1)
    v2 = test.index('8')
    print(v2)
    

    11.判断字符串是否只包含字母和数字,有别的字符会报False

    test1 = "asdfhisa123"
    test2 = "wdsf24_@$s2_^"
    v1 = test1.isalnum()
    v2 = test2.isalnum()
    print(v1)
    print(v2)
    

    12.判断是否都为字母,汉字。

    test = "sdfq大白"
    v= test.isalpha()
    print(v)
    

    13.判断是否都为数字,而 isdigit更厉害,②也能识别。isnumeric,能识别中文的“二”

    test1 = "123"
    test2 = "②"
    test3 = "二"
    v1 = test1.isdecimal()
    v2 = test2.isdigit()
    v3 = test3.isnumeric()
    print(v1,v2,v3)
    

    14.判断是否为标识符(标识符:字母,数字,下划线,且不能是数字开头)

    test1 = "_123asd"
    test2 = "3434"
    v1 = test1.isidentifier()
    v2 = test2.isidentifier()
    print(v1, v2)
    

    15.判断是否存在不可显示的字符( 换行符, 制表符),存在的话返回False

    test = "dada
    sdasdf"
    v = test.isprintable()
    print(v)
    

    16.判断是否全部是空格

    test = "   "
    v = test.isspace()
    print(v)
    

    17.判断是否为标题(标题的每个单词的首字母都是大写)

    test = "wo xi huan da Bai"
    v = test.istitle()
    print(v)
    

    18.将字符串转换为标题(首字母大写)

    test = "wo xi huan da Bai"
    v = test.title()
    print(v)
    

    19.将字符中的每一个元素按照指定分隔符进行拼接

    test = "你是风儿我是沙"
    v = "_".join(test)
    print(v)
    

    20.左边内容,右边填充指定符号,或右边内容,左边填充。

    test = "alex"
    v1 = test.ljust(20, "*")
    v2 = test.rjust(20, "❤")
    print(v1)
    print(v2)
    

    21.判断是否是小写,以及全部转换为小写。

    test = "Alex"
    v1 = test.islower()
    v2 = test.lower()
    print(v1, v2)
    

    22.判断是否都为大写,以及全部转换大写。

    test = "Alex"
    v1 = test.isupper()
    v2 = test.upper()
    print(v1, v2)
    

    23.去除左边空格,去除右边空格,以及去除左右空格,还可以去除 和 ,还可以去除指定内容,采用优先最多匹配原则,只要里面包含的字符都可以一一匹配去除

    test1 = "  alex  "
    v1 = test1.lstrip()
    v2 = test1.rstrip()
    v3 = test1.strip()
    print(v1,"
    ",v2,"
    ",v3)
    test2 = "xalex"
    v = test2.lstrip("lax")    #此处也可用rstrip和strip
    print(v)
    

    24.对应替换(test1和test2一一对应,把v中和test1相同的字符换成test2中的)

    v = "天青色等烟雨而我在等你"
    test1 = "天青色等烟雨"
    test2 = "炊烟袅袅升起"
    m = str.maketrans(test1,test2)
    new_v = v.translate(m)
    print(new_v)
    

    25.分割,split的缺点是不能保留被分割元素

    test = "天青色等烟雨而我在等你等你"
    v = test.partition('等')   #从匹配到的第一个就分割,分割成三份
    print(v)
    v2 = test.rpartition('等')  #从右边开始匹配,也是分割三部分
    print(v2)
    v3 = test.split('等')  #全部分割
    print(v3)
    v4 = test.split('等',2) #指定分割2次
    print(v4)
    v5 = test.rsplit('等',2) #从右边开始匹配分割2次
    print(v5)
    

    26.只能根据换行符分割,True 和False 决定是否保留换行

    est = "天青色
    等烟雨
    而我在等你"
    v = test.splitlines()
    print(v)
    v2 = test.splitlines(True)
    print(v2)
    

    27.替换

    test = "天青色等烟雨而我在等你"
    v = test.replace("等", "想")
    v2 = test.replace("等", "想", 1)    #替换第一个
    print(v)
    print(v2)

    七个重要的基本魔法,join, find, split, strip, upper, lower, replace,全都标记了星星哦

    灰魔法

    1.用索引获取字符串中的某一字符

    test = "天青色等烟雨而我在等你"
    v = test[0]
    print(v)
    

    2.切片操作

    test = "天青色等烟雨而我在等你"
    v = test[0:2]
    print(v)
    

    3.获取字符串长度

    test = "天青色等烟雨而我在等你"
    v = len(test)
    print(v)
    

    4.for循环

    test = "我想你了"
    for i in test:
        print(i)
    

    谨记:字符串在内存中一旦创建,就无法修改,每次修改,都会在内存中重新创建一次(因为内存中存储的东西都是连续的)

    一个奋斗中的产品小白
  • 相关阅读:
    Activiti服务类-1 DynamicBpmnService服务类
    Activiti工作流学习(一)——Activiti服务类
    怎么才能将文件流或者图片转化为base64,传到前台展示
    idea导入eclipse项目
    使用IDEA开发Activiti工作流
    idea中创建多module的maven工程
    Git的使用--如何将本地项目上传到Github
    Spring Boot 入门搭建
    Json中相同或者重复记录的值相加组成新的Json
    前端基础之jQuery入门 01
  • 原文地址:https://www.cnblogs.com/dabai123/p/10926035.html
Copyright © 2011-2022 走看看