zoukankan      html  css  js  c++  java
  • 十二、python字符串方法汇总

    '''
    1. index():检测字符串str1中是否包含字符串str2
    语法:str1.index(str2,beg,end)
    str:指定检索的字符串;beg开始的索引,默认为0;end结束的索引,默认字符串的长度
    如果字符串中包含,返回开始的索引值,否则跑抛出异常
    '''
    str1="this is a book"
    str2="bo"
    print str1.index(str2)
    print str1.index(str2,8)
    print str1.index(str2,11)

    ----------------------------------------
    15
    15
    报错

    --------------------------------------------------------------------------------------------------------------
    '''
    2.isalnum():检测字符串是否由字母和数字组成
    string中至少有1个字符串,且所有字符都是字母或者数字或者字母数字组合,则返回True,否则返回false
    '''
    str="abc1905"
    str1="abx"
    str2="abc!@"
    print str.isalnum()
    print str1.isalnum()
    print str2.isalnum()
    ----------------------------------------

       True
       True
       False

    --------------------------------------------------------------------------------------------------------------
    '''
    3.isalpha():检测字符串只有字母组成
    string中至少有1个字符串,且所有字符都是字母,则返回True,否则返回false
    '''
    str="abc"
    str1="abc123"
    str2="abcABC"
    print str.isalpha()
    print str1.isalpha()
    print str2.isalpha()
    ----------------------------------------

     True
        False
        True

    --------------------------------------------------------------------------------------------------------------
    '''
    4.isdigit():检测字符串只由数字组成
    string中至少有1个字符串,且所有字符都是数字,则返回True,否则返回false
    '''
    str="123456789"
    str1="abc123"
    print str.isdigit()
    print str1.isdigit()
    ----------------------------------------

        True
        False

    --------------------------------------------------------------------------------------------------------------
    '''
    5.islower():检测字符串只由小写字母组成
    string中至少有1个字符串,且所有字符都是小写字母,则返回True,否则返回false
    '''
    str="daffdsfds"
    str1="afdfsdfSDADSA"
    print str.islower()
    print str1.islower()
    ----------------------------------------

        True
        False

    --------------------------------------------------------------------------------------------------------------
    '''
    6.isnumeric():检测字符串只由数字组成,该方法只针对unicode对象
    string中至少有1个字符串的unicode对象(仅需在对象前加“u”),且所有字符都是数字,则返回True,否则返回false
    '''

    str=u"abc1234"
    str1=u"1223445"
    str2="1332656"
    print str.isnumeric()
    print str1.isnumeric()
    print str2.isnumeric()
    ---------------------------------------- 

        False
        True
        Traceback (most recent call last):
        File "D:/zhiliangbaozhangbu/06workspace/chushujin/test/��ϰ��/teststr.py", line 67, in <module>
        print str2.isnumeric()
        AttributeError: 'str' object has no attribute 'isnumeric'

    --------------------------------------------------------------------------------------------------------------
    '''
    7.isspace():检测字符串只由空格组成
    string中至少有1个字符串,且所有字符都是空格,则返回True,否则返回false
    '''

    str=" "
    str1="123 abc"
    print str.isspace()
    print str1.isspace()
    ----------------------------------------

        True
        False

    --------------------------------------------------------------------------------------------------------------
    '''
    8.istitle()检测字符串中所有字母的首字母都是大写,其余为小写
    string中至少有1个字符串,且所有字符的首字母都是大写,其余为小写,则返回True,否则返回false
    '''
    str="This Is A Pig"
    str1="This is a pig"
    str2="THIS Pig"
    str3="This Is 1234"
    print str.istitle()
    print str1.istitle()
    print str2.istitle()
    print str3.istitle()
    ----------------------------------------

        True
        False

        False

        True

    --------------------------------------------------------------------------------------------------------------
    '''
    9.isupper():检测所有字符串的首字母都是大写
    string中至少有1个字符串,且所有字符的字母都是大写,则返回True,否则返回false
    '''
    str="THIS IS A PIG"
    str1="THis is a pig"
    str2="THIS IS A 123456"

    print str.isupper()
    print str1.isupper()
    print str2.isupper()
    ----------------------------------------

        True
        False

        True

    --------------------------------------------------------------------------------------------------------------
    '''
    10.join():用于将序列中的元素以指定的字符串生成一个新的字符串
    语法:str.join(seq)--seq为要连接的字符列表,str作为整体,穿插在seq每个字符串中间
    str.join(seq)之后生成的只能是字符串,字典只能对键进行连接
    '''
    str="-"
    seq="abcd"
    wow="123"
    print str.join(seq)
    print seq.join(wow)
    list=['1','2','3','4','5']
    print(''.join(list))
    seq = {'hello':'nihao','good':2,'boy':3,'doiido':4}
    print('-'.join(seq)) #字典只对键进行连接
    ----------------------------------------

       a-b-c-d
       1abcd2abcd3

        12345
        boy-good-doiido-hello

    --------------------------------------------------------------------------------------------------------------
    11.split(): 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串
    语法:str.split(str="", num=string.count(str))
    • str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。
    • num -- 分割次数。
    例子:
    str="admin$123$AAA$BBB"

    r=str.split('$')
    print (r)
    m=str.split('$',1)
    print (m)
    ------------------------------------------

        ['admin', '123', 'AAA', 'BBB']
        ['admin', '123$AAA$BBB']

    --------------------------------------------------------------------------------------------------------------
    '''
    12.strip():方法,用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
    注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
    '''

    str=" 000000 a b0d 000000 "
    i=str.strip()
    print (i)
    m=i.strip("0")
    print(m)
    ---------------------------------------

        000000 a b0d 000000
        a b0d

    --------------------------------------------------------------------------------------------------------------
    '''
    13. center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
    '''

    str="abc"
    print (str.center(20))
    print (str.center(20,"*"))
    ---------------------------------------

                      abc
        ********abc*********

    --------------------------------------------------------------------------------------------------------------

    '''
    14. capitalize()将字符串的第一个字母变成大写,其他字母变小写。对于 8 位字节编码需要根据本地环境。
    '''

    str="abc"
    str1="aBGHG"
    print (str.capitalize())
    print (str1.capitalize())
    ---------------------------------------

        Abc
        Abghg

    --------------------------------------------------------------------------------------------------------------
    '''
    15. count():用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
    str.count(sub, start= 0,end=len(string))
    sub -- 搜索的子字符串
    start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
    end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。
    '''
    str="this is strings"
    sub="i"
    print (str.count(sub,4,40))
    print (str.count(sub))
    ---------------------------------------

        2

        3

    --------------------------------------------------------------------------------------------------------------

    练习题:

    1.写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

    #写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数

    def func(str):
    ret_num=0
    digit_num=0
    alpha_num=0
    space_num=0
    for i in str:
    if i.isdigit():
    digit_num +=1 #数字
    elif i.isalpha():
    alpha_num +=1 #字母
    elif i.isspace():
    space_num +=1 #空格
    else:
    ret_num +=1 #其他
    return (digit_num,alpha_num,space_num,ret_num)

    seq="safs123ag hhjg^&*jgj"
    r=func(seq)
    print r
    ------------------------------
    (3, 13, 3, 3)
    #####################################################################################
    '''
    3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
    '''
    # def func(str):
    # if len(str)>5:
    # print ("长度大于5")
    # else:
    # print ("长度小于等于5")
    # return len(str)
    # #return str
    # seq="sgdfdhf"
    # r1=func(seq)
    # seq1=["111","222","333","444"]
    # r2=func(seq1)
    # seq2={'a':'11','b':'22','c':'33','d':'44','e':'55','f':'66'}
    # r3=func(seq2)
    # print r1,r2,r3
    ------------------------------------------

      长度大于5
      长度小于等于5
      长度大于5
      7 4 6


    ################################################################################################
    '''
    5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    '''

    # def func(str):
    # if len(str)>2:
    # result=str[0:2]
    # else:
    # pass
    # return result
    #
    #
    # l=['111','222','aaa','555','666','888']
    # r=func(l)
    # print r
    -------------------------------------------------
    ['111', '222']
    ######################################################################################
    '''
    6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
    '''
    # def func(str):
    # l=[]
    # for i in range(len(str)):
    # if i%2==1:
    # l.append(str[i])
    # return l
    #
    # seq=['00','11','22','33','44','55','66']
    # r=func(seq)
    # print r
    --------------------------------------------
    ['11', '33', '55']
    ###############################################################################################

    '''
    7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
    '''
    # def func(str):
    # ret={}
    # for i in str:
    # if len(str[i])>2:
    # #print str[i],type(str[i])
    # ret.update({i:str[i][0:2]})
    #
    # return ret
    # seq={'aa':'111','bb':'22','cc':'1','dd':[88,99,66]}
    # r=func(seq)
    # print r
    ------------------------------------------------------
    {'aa': '11', 'dd': [88, 99]}


  • 相关阅读:
    Eclipse新建工程编译R cannot be resolved to a variable问题
    Eclipse如何生成jar包
    Springmvc+Shiro实战
    封装springmvc处理ajax请求结果
    jquery操作cookie
    探讨jsp相对路径和绝对路径
    spring集成quartz
    Spring-Task
    bootstrap table分页(前后端两种方式实现)
    jquery file upload示例
  • 原文地址:https://www.cnblogs.com/chushujin/p/9353238.html
Copyright © 2011-2022 走看看