• day3_字符串常用方法


    s.upper()
    s.lower()
    s.capitalize()
    s.split(',')
    s.strip('abc')
    s.lstrip()
    s.rstrip()
    s.replace('old','new')
    s.endswith('xxx.mp3')
    s.startswith('186')
    ','.join('sdfsdfds')
    s.isdigits()
    s.isalnum()
    s.zfill(5)
    以上重要,要记住
    s.find()

     

    1、strip():用于删除字符串头部和尾部指定的字符,默认字符为所有空字符,包括空格、换行( )、制表符( )等。

    strip() 方法语法:S.strip([chars])

    chars -- 可选参数,要删除的指定字符,默认字符为所有空字符,包括空格、换行( )、制表符( )等

    实例1:

    >>> a = '  sdf   '

    >>> a.strip()

    'sdf'

    2、lstrip():截掉 string 左边的空格、换行符、制表符等

    3、rstrip():截掉 string 右边边的空格、换行符、制表符等

    实例2:

    a = '.jpgskdjfsdklfjskdf.jpg'

    a.rstrip('.jpg')                         #将字符串的头部和尾部的.jpg去掉

    'skdjfsdklfjskdf'

    4、upper():转换 string 中的小写字母为大写

    5、lower():转换 string 中所有大写字符为小写.

    6、capitalize():把字符串的第一个字符大写

    7、count() :用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

    语法:str.count(sub,start=0,end=len(string))

    参数:

    sub -- 搜索的子字符串

    start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。

    end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

    8、replace() 方法:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。

    语法:str.replace(old,new[,max])

    参数:

    old -- 将被替换的子字符串。

    new -- 新字符串,用于替换old子字符串。

    max -- 可选字符串, 替换不超过 max 次

     

    实例:

    a = 'abcdabcad'
    print(a.replace('a','上山打老虎',2))

    输出:

    上山打老虎bcd上山打老虎bcad               #替换了两个地方,第三个地方没有替换

    实例2:可以连续替换,如果没有要替换的内容,也不会报错。

    1     name = p_word.replace('xianchang','xc').replace('wangluo','wl').replace('cengke','ck').replace('zhujiao','zj')

    9、endswith() 判断以啥结尾的  返回值True   False

    10、startswith() 判断以什么开头

    11、 split() :把字符串变成list,以某个字符串分隔,如果分隔符不存在,则变成list,不做分隔

    语法:
    str.split(str="", num=string.count(str))

    参数:

    str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。

    num -- 分割次数。

    实例1

    names = '小红,小黑,小白,小绿'
    print(names.split(','))

    输出:

    ['小红,小黑,小白,小绿']

     

    实例2

    names = '小红,小黑,小白,小绿'
    print(names.split(',',1))            #分隔一次
    输出:
    ['小红', '小黑,小白,小绿']               #

     

    12、 join() :用于将序列中的元素以指定的字符连接生成一个新的字符串。

    语法:str.join(sequence)

       参数:sequence -- 要连接的元素序列。

       返回值:返回通过指定字符连接序列中元素后生成的新字符串

       str.join(元组、列表、字典、字符串) 之后生成的只能是字符串。

    1 users = ['abc','dsf','RRRR']
    2 res = ','.join(users)  #1、把list变成字符串 2、把list里面的每一个元素用逗号连接起来
    3 print(res)
    4 print('-----'.join(users)) #用'-----'符号链接,生成一个新的字符串。
     1 list1 = ['a','b','c']  #列表,join连接各元素
     2 tupl1 = ('a''b','c')   #元组,join连接各元素
     3 dic1 = {'a':'123','b':'456'}  #字典,join连接各key
     4 str1 = 'sdfsadf'   #字符串,join连接各字符
     5 
     6 a = '-'.join(list1)  #用指定字符连接,生成个新字符串
     7 b = '-'.join(tupl1)
     8 c = '-'.join(dic1)
     9 d = '-'.join(str1)
    10 print('连接列表:',type(a),a)   #打印类型,以及新字符串
    11 print('连接元组:',type(b),b)
    12 print('连接字典:',type(c),c)
    13 print('连接字符串:',type(d),d)

    13、 isdigit()检测字符串是否只由数字组成。也可以说该方法可以判断是否是0或正整数

    语法:str.isdigit()

    参数:无

    返回值:如果字符串只包含数字则返回 True 否则返回 False

     1 a = '0'  #isdigit()返回True
     2 b = '1'  #isdigit()返回True
     3 c = '-1' #isdigit()返回False
     4 d = 'a1' #isdigit()返回False
     5 e = 's'  #isdigit()返回False
     6 f = '1.56'  #isdigit()返回False
     7 print(a.isdigit())
     8 print(b.isdigit())
     9 print(c.isdigit())
    10 print(d.isdigit())
    11 print(e.isdigit())
    12 print(f.isdigit())

    14、find() 检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

    语法:str.find(str, beg=0, end=len(string))

    参数:

    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。

    返回值:如果包含子字符串返回开始的索引值,否则返回-1。

    1 s = 'abcd1b2a34_'
    2 print(s.find('a'))  #从下标0开始查到最后,查找在字符串第一个出现的子串返回结果:0
    3 print(s.find('_'))  #返回结果:10
    4 print(s.find('a',1))  #从下标1开始查找,返回结果7
    5 print(s.find('b',2,6)) #从下标2到下标6,不包括6,返回结果5
    6 print(s.find('A'))   #不存在,返回-1

    15、index()方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。

    语法:str.index(str, beg=0, end=len(string))

    参数:

    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。

    返回值;如果包含子字符串返回开始的索引值,否则抛出异常。

    1 s = 'abcd1b2a34_'
    2 print(s.index('a'))  #返回结果:0
    3 print(s.index('_'))  #返回结果:10
    4 print(s.index('a',1))  #从下标1开始查找,返回结果7
    5 print(s.index('b',2,6)) #从下标2到下标6,不包括6,返回结果5
    6 print(s.index('A'))   #不存在,抛出异常

    16、count()用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

    语法:str.count(sub, start= 0,end=len(string))

    参数:

    • sub -- 搜索的子字符串
    • start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
    • end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。

    返回值:该方法返回子字符串在字符串中出现的次数。

    1 s = 'abcd1b2a34_'
    2 print(s.count('a')) #返回结果2
    3 print(s.count('34')) #返回结果1
    4 print(s.count('A'))#返回结果0

    17、islower检测字符串是否由小写字母组成。

    语法:str.islower()

    参数:无

    返回值:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False

    1 s = 'abcd1b2a34..............!!!!!' #返回True
    2 s1 = 'Asdf'                             #返回False
    3 print(s.islower())
    4 print(s1.islower())

    18、isupper检测字符串中所有的字母是否都为大写。

    语法:str.isupper()

    参数:无

    返回值:如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

    s = 'ABC_ 123.....??' #返回True
    s1 = 'ABCDFDF a'       #返回False
    print(s.isupper())
    print(s1.isupper())

    19、isalnum检测字符串是否由字母和数字组成。

    语法:str.isalnum()

    参数:无

    返回值:如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

    a = 'aaaAfd' #字符串都是字母,返回True
    b = '23445'  #字符串都是数字,返回True
    c = '234dsfsDG' #字符串都是字母和数字,返回True
    d = '12abc_'  #字符串里有非字母数字,返回False
    e = '$%234ds' #字符串里有特殊字符,返回False
    f = '123  dkdja'#字符串里有空格,返回False
    g = '1.235'  #小数判断不出来,有.  那么返回False
    print(a.isalnum())
    print(b.isalnum())
    print(c.isalnum())
    print(d.isalnum())
    print(e.isalnum())
    print(f.isalnum())
    print(g.isalnum())

    20、isalpha检测字符串是否只由字母组成。

    语法:str.isalpha()

    参数:无

    返回值:如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

    检测字符串是否只由字母组成。

    a = 'aaaAfd' #字符串都是字母,返回True
    b = '23445'  #字符串都是数字,返回False
    c = '234dsfsDG' #字符串都是字母和数字,返回False
    d = '12abc_'  #字符串里有非字母数字,返回False
    e = '$%234ds' #字符串里有特殊字符,返回False
    f = '123  dkdja'#字符串里有空格,返回False
    print(a.isalpha())
    print(b.isalpha())
    print(c.isalpha())
    print(d.isalpha())
    print(e.isalpha())
    print(f.isalpha())

    21、isidentifier() 判断是不是合法的变量名

    合法返回True  不合法返回False 

    a = 'test' #变量名合法,返回True
    b = 'a_'  #变量名合法,返回True
    c = '$%' #变量名不合法,返回False
    d = '12' #变量名不合法,返回False
    print(a.isidentifier())
    print(b.isidentifier())
    print(c.isidentifier())
    print(d.isidentifier())

    21、isspace()检测字符串是否只由空白字符(空格)组成。

    语法str.isspace()

    参数:无

    返回值:如果字符串中只包含空格,则返回 True,否则返回 False.

    a = '        '  #只有空格返回True
    b = 'ajsdf       dfdf' #有其他字符返回False
    print(a.isspace())
    print(b.isspace())

    22、splitlines()按照行(' ', ' ', ')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

    语法:str.splitlines([keepends])

    参数:keepends -- 在输出结果里是否去掉换行符(' ', ' ', '),默认为 False,不包含换行符,如果为 True,则保留换行符。

    返回值;返回一个包含各行作为元素的列表。

    a = 'a 
     sdf
     bb
    '
    print(a.splitlines())
    print(a.splitlines(True)) #保留换行符

    输出结果:

    ['a ', ' sdf', ' bb']
    ['a 
    ', ' sdf
    ', ' bb
    ']

    23、zfill()返回指定长度的字符串,原字符串右对齐,前面填充0。

    语法:str.zfill(width)

    参数:width -- 指定字符串的长度。原字符串右对齐,前面填充0。

    返回值:返回指定长度的字符串。

    a = 'abc'
    print(a.zfill(8))  #返回结果为00000abc  前面加个五个0

    写个小练习:如果有1-119整数,一位数前面补两个0,两位数前面补一个0

    #1-119的整数,写成模式001 010,以下是原始思路,现实不会这么写
    l = list(range(1,110))
    new_l = []
    for i in l:
        si = str(i)
        if len(si) == 1:
            new_i = '00'+str(i)
        elif len(si) ==2:
            new_i = '0' + str(i)
        else:
            new_i = i
        new_l.append(new_i)
    print(new_l)

    zfill()方法

    l = list(range(1,120))
    new_l = []
    for i in l:
        si = str(i)
        new_l.append(si.zfill(3))  #3位补0
    print(new_l)

    24、import string

    import string  #直接定义变量
    print(string.ascii_lowercase)  #所有的小写字母
    print(string.ascii_uppercase)  #所有的大写字母
    print(string.digits)  #0-9数字
    print(string.punctuation)  #所有的特殊字符
    print(string.ascii_letters) #所有的小写大写字母

    结果:

    abcdefghijklmnopqrstuvwxyz
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    0123456789
    !"#$%&'()*+,-./:;<=>?@[]^_`{|}~
    abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

    25、Python find()方法

    Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。

    语法

    find()方法语法:

    str.find(str, beg=0, end=len(string))

    参数

    • str -- 指定检索的字符串
    • beg -- 开始索引,默认为0。
    • end -- 结束索引,默认为字符串的长度。

    返回值

    如果包含子字符串返回开始的索引值,否则返回-1。

    实例

    以下实例展示了find()方法的实例:

    实例(Python 2.0+)

    #!/usr/bin/python str1 = "this is string example....wow!!!"; str2 = "exam"; print str1.find(str2); print str1.find(str2, 10); print str1.find(str2, 40);

    以上实例输出结果如下:

    15
    15
    -1
  • 相关阅读:
    Codeforces Round #527 (Div. 3) B. Teams Forming
    Train Problem I (栈的基本运用)
    浙江中医药大学第十二届大学生程序设计竞赛 J. Jhadgre爬楼梯
    判断二进制半整数
    简易连连看
    Codeforces Round #527 (Div. 3) A. Uniform String
    求字符串中出现次数最多的字符 JAVA
    母猪的故事 (递推题)
    C#判断文件和文件夹是否存在 不存在则创建
    C# 数据库备份与还原 小妹做了一个winform系统,需要对sql2000数据库备份和还原(小妹妹你太狠了)
  • 原文地址:https://www.cnblogs.com/once-again/p/9562588.html
Copyright © 2020-2023  润新知