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))


     
  • 相关阅读:
    POJ 3253 Fence Repair
    POJ 2431 Expedition
    NYOJ 269 VF
    NYOJ 456 邮票分你一半
    划分数问题 DP
    HDU 1253 胜利大逃亡
    NYOJ 294 Bot Trust
    NYOJ 36 最长公共子序列
    HDU 1555 How many days?
    01背包 (大数据)
  • 原文地址:https://www.cnblogs.com/knighterrant/p/9676041.html
Copyright © 2011-2022 走看看