zoukankan      html  css  js  c++  java
  • 字符串操作

    字符串操#字符串操作

       name = "aleX leNb"

    print(name.capitalize())  #Alex lenb   第一个单词首字母大写,其他都小写
    print(name.upper()) #ALEX LENB 全部大写
    print(name.lower()) #alex lenb 全部小写
    print(name.swapcase()) #ALEx LEnB 大小写反转
    print(name.title()) #Alex Lenb每个单词首字母大写,其他都小写
    print(name.center(20,'~')) # ~~~~~aleX leNb~~~~~~
    print(len(name)) # 9
    print(name.startswith("al")) #True
    print(name.startswith("e",2)) #True
    print(name.startswith("eX",2,4)) #True 遵循顾头不顾尾原则
    print(name.endswith("al")) #Flase

    print(name.find("e")) #通过元素,找索引值,找不到返回-1
    print(name.index("e")) #通过元素,找索引值,找不到,会报错

    str=" *alexWusir%deng*den "
    str1=str.lstrip() #*alexWusir%deng*den 删除左边空格
    str2=str.rstrip() # *alexWusir%deng*den 删除右边空格
    str3=str.strip("*") # *alexWusir%deng*den 依次删除左右两边以*开始的*
    str4=str.strip(" *")#alexWusir%deng*den 依次删除左右两边以空格或以*为开头的*或空格
    str5=str.strip("%") # *alexWusir%deng*den 依次删除左右以%为开头的%

    s="*%*alexWusir%deng*den*"
    s1=s.strip("*") #%*alexWusir%deng*den
    s2=s.strip("%*") #alexWusir%deng*den
    s3=s.strip("*%") #alexWusir%deng*den

    s4=s.count("*") #4 统计*在字符串中出现的次数

    分割 slipt 以某元素分割,被分割后的元素组成一个列表 ,该元素消失
    s5=s.split("*") #['', '%', 'alexWusir%deng', 'den', ''] 一分为二,得到列表
    s6=s.split("e") #['*%*al', 'xWusir%d', 'ng*d', 'n*']

    判断:
    str.isalnum() 判断字符串由字母或数字组成
    str.isalpha() 字符串只由字母组成
    str.isdigt() 字符串只由字母组成
    # # 1,有变量name = "aleX leNb" 完成如下操作:
    # # 1)移除 name 变量对应的值两边的空格,并输出处理结果
    # name = "aleX leNb"
    # print(name.strip())       #aleX leNb
    # # 2)移除name变量左边的’al’并输出处理结果
    # print(name.lstrip("al"))  #eX leNb
    # # 3)移除name变量右面的’Nb’,并输出处理结果
    # print(name.rstrip("Nb"))  #aleX le
    # # 4)移除name变量开头的a’与最后的’b’,并输出处理结果
    # print(name.strip("ab"))   #leX leN
    # # 5)判断 name 变量是否以 "al" 开头,并输出结果
    # print(name.startswith("al")) #True
    # # 6)判断name变量是否以”Nb”结尾,并输出结果
    # print(name.endswith("Nb"))   #True
    # # 7)将 name 变量对应的值中的 所有的“l” 替换为 “p”,并输出结果
    # print(name.replace("l","p"))  #apeX peNb
    # # 8)将name变量对应的值中的第一个’l’替换成’p’,并输出结果
    # print(name.replace("l","p",1)) #apeX leNb
    # # 9)将 name 变量对应的值根据 所有的“l” 分割,并输出结果。
    # print(name.split("l")) #['a', 'eX ', 'eNb']
    # # 10)将name变量对应的值根据第一个’l’分割,并输出结果。
    # print(name.split("l",1)) #['a', 'eX leNb']
    # # 11)将 name 变量对应的值变大写,并输出结果
    # print(name.upper()) #ALEX LENB
    # # 12)将 name 变量对应的值变小写,并输出结果
    # print(name.lower())#alex lenb
    # # 13)将name变量对应的值首字母’a’大写,并输出结果
    # print(name.capitalize())  #Alex lenb
    # # 14)判断name变量对应的值字母’l’出现几次,并输出结果
    # print(name.count("l"))#2
    # # 15)如果判断name变量对应的值前四位’l’出现几次,并输出结果
    # print(name[:4].count("l"))  #1
    # # 16)从name变量对应的值中找到’N’对应的索引(如果找不到则报错),并输出结果
    # print(name.index("N"))  #7
    # # 17)从name变量对应的值中找到’N’对应的索引(如果找不到则返回-1)输出结果
    # print(name.find("N"))   #7
    # # 18)从name变量对应的值中找到’X le’对应的索引,并输出结果
    # print(name.find('X le')) #3
    # # 19)请输出 name 变量对应的值的第 2 个字符?
    # print(name[1])  #l
    # # 20)请输出 name 变量对应的值的前 3 个字符?
    # print(name[:3]) #ale
    # # 21)请输出 name 变量对应的值的后 2 个字符?
    # print(name[-2:]) #Nb
    # # 22)请输出 name 变量对应的值中 “e” 所在索引位置?
    # print(name.index("e"))#2
    # # 获取子序列,去掉最后一个字符。如: oldboy 则获取 oldbo。
    # name2="oldboy"
    # print(name2.split("y"))   #['oldbo', '']
    #
    #
    # # 2,有字符串s = ‘132a4b5c’
    # s = '132a4b5c'
    # # 1)通过对li列表的切片形成新的字符串s1,s1 = ‘123’
    # print(s[:1]+s[2:0:-1])
    # # 2)通过对li列表的切片形成新的字符串s2,s2 = ‘a4b’
    # print(s[3:6])
    # # 3)通过对li列表的切片形成新的字符串s3,s3 = ‘1245’
    # print(s[::2])
    # # 4)通过对li列表的切片形成字符串s4,s4 = ‘3ab’
    # print(s[1:7:2])
    # # 5)通过对li列表的切片形成字符串s5,s5 = ‘c’
    # print(s[-1])
    # # 6)通过对li列表的切片形成字符串s6,s6 = ‘ba3’
    # print(s[-3:-8:-2])
    # # 3,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
    # # n="  asdfer"
    # # j=0
    # # while j<len(n):
    # #     print(n[j])
    # #     j+=1
    #
    # # for i in n:
    # #     print(i)
    # # 4,实现一个整数加法计算器:
    # # 如:content = input(‘请输入内容:’)  # 如用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
    # content=input("请输入内容:")
    # list=content.split("+")
    # sum=0
    # for i in list:
    #     n=int(i.strip())
    #     sum=sum+n
    # print(sum)
    #
    
    
    # 5,计算用户输入的内容中有几个整数。
    msg=input("请输入内容:")
    n=0
    # for i in msg:
    #     # print(i)
    #     if i.isdigit():
    #         n+=1
    # print(n)
    for i in range(1,len(msg)):
    
        if msg[i-1].isdigit():
            n=n+1
            if msg[i].isdigit():
                n=n-1
    
    if msg[0].isdigit() and msg[1].isdigit():
        if msg[len(msg)-1].isdigit():
            print(n+1)
        else:
            print(n)
    else:
        print(n+1)


    格式化输出

    方法一:
    %s 字符串 %d 数字 %为占位符
    # 方法一
    name=input("请输入你的名字:")
    age=int(input("请输入你的年龄:"))
    job=input("请输入你的工作:")
    msg = "我叫%s,今年%d,我的工作是%s"%(name,age,job)
    print(msg)

    方法二:format

    # # 方法一
    name=input("请输入你的名字:")
    age=int(input("请输入你的年龄:"))
    job=input("请输入你的工作:")
    # msg = "我叫%s,今年%d,我的工作是%s"%(name,age,job)
    # print(msg)
    
    
    # 方法二:format
    # msg = "我叫%s,今年%s,我的工作是%s"
    # format方法1:
    msg1 = "我叫{},今年{},我的工作是{}"
    print(msg1.format(name,age,job))
    
    # format方法2:
    msg2="我叫{0},今年{1},我的工作是{2},我在说一下我的名字,我叫{0}".format(name,age,job)
    print(msg2)
    
    # format方法3:
    msg3="我叫{name},今年{age},我的工作是{job},我在说一下我的名字,我叫{name}"
    print(msg3.format(age=age,name=name,job=job))


     
  • 相关阅读:
    2010年Ei收录的中国期刊
    做DSP最应该懂得157个问题
    【资料分享】 OpenCV精华收藏
    孙鑫VC学习笔记:多线程编程
    对Davinci DM6446的评价[转]
    TI首席科学家展望2020年处理器架构和DSP的发展
    37份计算机科学的经典文档
    VC学习笔记:状态栏
    【VC参考手册】MFC类库:4.21版和6.0版
    TI DSP入门学习
  • 原文地址:https://www.cnblogs.com/knighterrant/p/9676041.html
Copyright © 2011-2022 走看看