zoukankan      html  css  js  c++  java
  • python 基本数据类型之字符串功能

    字符串常用功能:

    # name.upper()           #全部大写变小写
    # name.lower()             #全部小写变大写
    # name.split()             #分割
    # name.find()              #找到指定子序列的索引位置
    # name.strip()             #默认移除左右空白,可以传参数,指定移除的值
    # name.startswith()        #是否以xx开头
    # name.format()             #字符串格式化
    # name.replace()           #字符串替换
    # "alex".join(["aa",'bb']) #元素拼接(元素必须是字符串)
    # name.encode # 编码转换

    字符串额外功能:

    # name[0]     # 索引
    # name[0:3]      # 切片
    # name[0:3:2]    # 补偿
    # len(name)      # 长度
    # 字符串for循环,每个元素是字符

    字符串详细功能介绍:

    #创建
    a = 'abc'
    a = str('abc')
    View Code
    #转换
    age = 19
    new_age = str(age)
    View Code
    #字符串的拼接
    name = 'lishichao'
    gender = ''
    new_str = name + gender
    print(new_str)
    View Code
    #字符串格式化
    name=input("whatyo is your name?
    >>>")
    print("Hello,%s" %(name))
    
    msg = """
    姓名:%s
    职业:%s
    年龄:%s
    """ %("李世超","搬砖","18")
    print(msg)
    """
    View Code
    #判断子序列是否在其中
    content = '成功最有效的方法就是向有经验的人学习!'
    if '成功' in content:
        print('包含敏感字符')
    else:
        print(content)
    View Code
    # 移除空白,源字符串不变
    val = ' lishichao '
    print(val)
    new_val = val.strip() #移除左右空白
    new_val = val.lstrip(  #移除左空白
    new_val = val.rstrip()  #移除右空白
    print(new_val)
    View Code
    # 分割
    user_info = 'lishichao|handan|19'
    
    #v = user_info.split('|')     #根据'|' 全部分割
    #['lishichao', 'handan', '19']
    #v = user_info.split('|',1)   #左边开始 分割1次
    #['lishichao', 'handan|19']
    #v = user_info.rsplit('|',1)  #右边开始 分割1次
    #['lishichao|handan', '19']
    print(v)
    View Code
    # 长度,字符长度
    val = '世超li'
    v = len(val)
    print(v)
    View Code
    # 索引
    #val = 'a啊啊啊a'
    # v = val[0]  #通过索引去找字符
    # print(v)
    #通过索引,循环打印字符串
    val =input('>>>')
    i = 0
    while i < len(val):
        print(val[i])
        i+=1
    View Code
    # 切片
    content = '成功最有效的方法就是向有经验的人学习!'
    print(content[0])
    print(content[0:2])  #取区间
    print(content[5:9])
    print(content[5:]) #
    print(content[5:-2]) #
    print(content[0:10:2]) #补偿 跳着取
    print(content[0::2])  #不写 默认全部
    print(content[-2:])  #从最后开始,取2个字符
    View Code
    #1. 首字母变大写,自身不变;生成新的值
    #v = name.capitalize()
    View Code
    #2. 所有大写变小写
    v = name.casefold()  #更牛逼,支持多国语言
    #v = name.lower()
    View Code
    #3. 文本居中
    # 参数1:总长度
    # 参数2:空白处填充的字符(长度为1)
    name = 'LiShiChao'
    v = name.center(20,'*')
    print(v)
    #执行结果
    #*****LiShiChao******
    
    # 左右填充
    # center,rjust,ljust
    # name = 'alex'
    # v = name.rjust(20,'*')
    # print(v)
    View Code
    #4. 计算传入的值,在字符串中出现的次数
    #参数1:要查找的值(子序列)
    #参数2:起始位置(索引)
    #参数3:结束位置(索引)
    #def count(self, sub, start=None, end=None):
    name = 'aaaabbbbcccc'
    v = name.count('b',4,8)
    print(v)
    View Code
    #5. 是否以xx结尾
    # name = 'lishichao'
    # v1 = name.endswith('o')
    # print(v1)
    View Code
    # #6. 是否以xx开头
    # name = 'lishichao'
    # v2 = name.startswith('li')
    # print(v2)
    View Code
    #7.找到制表符	,进行替换(包含前面的值)
    name = 'lishichao	19
    lirenjie	20'
    v = name.expandtabs(20)
    print(v)
    # 执行结果
    # lishichao           19
    # linjreie            20
    View Code
    #8. 找到指定子序列的索引位置:不存在返回-1。
    name = 'lishichao'
    v = name.find('i')   #不存在返回-1。
    #v = name.index('x')  #不存在会报错
    print(v)
    View Code
    #9.字符串格式化
    # tpl = '姓名:{0};年龄:{1};性别:{2}'
    # v = tpl.format('',19,'')
    # print(v)
    
    # tpl = '姓名:{name};年龄:{age};性别:{gender}'
    # v = tpl.format(name='',age=19,gender='')
    # print(v)
    
    # tpl = '姓名:{name};年龄:{age};性别:{gender}'
    # v = tpl.format_map({'name':'','age':'19','gender':''})
    # print(v)
    View Code
    #10.是否是数字、汉字
    # name = 'li23汉子'
    # v = name.isalnum()  #包含子和数字,返回True
    # print(v)
    
    # v2 = name.isalpha()
    # print(v2)     #不包含数字
    View Code
    s = "a"
    print(s.isalpha())   #判断是否是字母
    True

    #11. 判断是否是数字
    # num = ''
    # v1 = num.isdecimal()  #只能判断123,
    # v2 = num.isdigit()    #能判断123,''
    # v3 = num.isnumeric()  #能判断123,''''
    # print(v1,v2,v3)
    View Code
    #12. 移除空白,源字符串不变
    # val = ' lishichao '
    # print(val)
    # v1= val.strip() #移除左右空白
    # v2 = val.lstrip() #移除左空白
    # v3 = val.rstrip()  #移除右空白
    View Code
    # #13. 是否是一个标识符
    # n = 'name'
    # v = n.isidentifier()
    # print(v)
    View Code
    #14. 是否全部是小写
    # name = 'lishichao'
    # v = name.islower()
    # print(v)
    View Code
    # 是否全部是大写
    # n = 'LISHICHAO'
    # v1 = n.isupper()
    # print(v1)
    View Code
    # 大小写转换
    # print(name.upper())   #全部小写变大写
    # print(n.lower())      #全部大写变小写
    View Code
    # #15. 是否包含隐含字符
    # name = 'asdsad
    sadsadsa'
    # print(name.isprintable())
    View Code
    #16. 判断是否全部是空格
    # name = '    '
    # print(name.isspace())
    View Code
    #17. 元素的拼接(元素字符串), 重点,经常用
    # name = 'LSC'
    # v = '_'.join(name)
    # print(v)
    
    # name = ['a','b','c']
    # v = ''.join(name)
    # print(v)
    View Code
    #18. 字符串替换
    # content = '10.0.3.188,172.16.1.188'
    # v1 = content.replace('188','99')   # 全部替换
    # v2 = content.replace('188','99',1) # 只替换第一个188
    # print(v1)
    # print(v2)
    # #执行结果:
    # # 10.0.3.99172.16.1.99
    # # 10.0.3.99172.16.1.188
    View Code
    #29.encode
    name = '李小'
    v1 = name.encode(encoding='utf-8')   #转换成字节类型, utf-8 3个字节表示中文
    print(v1)
    v2 = name.encode(encoding='gbk')     #转换成字节类型,gbk 2个字节表示中文
    print(v2)
    View Code
    
    









  • 相关阅读:
    操作系统第一章绪论
    JavaScript推断E-mail地址是否合法
    projecteuler----&gt;problem=8----Largest product in a series
    QQ聊天原理初识
    窗体和线程漫谈之工作线程怎样将数据的处理结果显示到窗体
    Swift
    iOS-UIApplication详解
    iOS开发拓展篇——如何把项目托管到GitHub
    Swift
    Swift
  • 原文地址:https://www.cnblogs.com/root0/p/10156703.html
Copyright © 2011-2022 走看看