• Python之字符串操作


    一、字符串特点

    •  内容不可修改
    password='123456' #内容不可修改

    二、字符串常用方法

    1、.strip()方法

    • 去字符串两边的空格和换行符
    print(password.strip()) #去掉字符串两边的空格和换行符
    password='
    
    
    123456
    7890 '
    print(password.strip())
    #结果:
    #123456
    #7890
    #中间的空格和换行符不去掉
    • 不传内容,默认去掉空格和换行符,传入内容,就去掉内容
    password='.jpg123456.jpg'
    print(password.strip('.jpg'))
    #结果:
    #123456

    2、.lstrip()方法

    • 只去掉左边的空格和换行

    3、.rstrip()方法

    • 只去掉右边的空格和换行

    4、.upper()方法

    • 使字符串全部转成大写
    password='.jpg123456.jpg'
    print(password.upper())
    #结果:
    #.JPG123456.JPG

    5、.lower()方法

    • 使字符串全部转成小写
    password='.JPG123456.jpg'
    print(password.lower())
    #结果:
    #.jpg123456.jpg

    6、.capitalize()方法

    • 使字符串首字母转成大写
    password='agcPG123456.jpg'
    print(password.capitalize())
    #结果:
    #Agcpg123456.jpg

    7、.count()方法

    • 统计内容在字符串里出现的次数
    password='agcPG123456.jpg'
    print(password.count('g'))
    #结果:
    #2

    8、.replace()方法

    • 将旧内容替换为新内容
    password='agcPG123456.jpg'
    print(password.replace('12345','上山打老虎'))
    #结果:
    #agcPG上山打老虎6.jpg
    • 如果旧内容不存在,使用该方法也不报错,还是之前的字符串
    password='agcPG123456.jpg'
    print(password.replace('hhh','上山打老虎'))
    #结果:
    #agcPG123456.jpg

    去掉字符串中间的空格,可以使用该方法

    names='小红 小军 小黄    小兰'
    print(names.replace(' ',''))
    #结果:
    #小红小军小黄小兰

    9、.endswith()方法

    • 判断是否以内容为结尾
    • 当内容存在时,返回为True;不存在时,返回为False
    password='agcPG123456.jpg'
    print(password.endswith('jpg'))
    #结果:
    #True
    print(password.endswith('mp3'))
    #结果:
    #False

    例子:

    filename='a.mp4'
    if filename.endswith('.mp3'):
        pass
    else:
        print('不以.mp3结尾')
    #结果:
    #不以.mp3结尾

    10、.startswith()方法

    • 判断是否以内容为开头
    password='agcPG123456.jpg'
    print(password.startswith('.'))
    #结果:
    #False

    11、.format()方法

    • 格式化输出,用{}包裹,可将内容输出
    print('{name},{age}'.format(name='lrx',age=18))
    #结果:
    #lrx,18

    12、.split()方法

    • 以内容为分隔符进行分割,分割后是list里的每一个元素
    • 将字符串变成list
    names='小红,小军,小黄,小兰'
    print(names.split(','))
    #结果:
    #['小红,小军,小黄,小兰']
    • 如果分隔符不存在,仍然把字符串变成list,整个字符串是list里的一个元素
    names='小红 小军 小黄    小兰'
    print(names.split(','))
    #结果:
    #['小红 小军 小黄    小兰']

     13、.join()方法

    • 将list转成字符串
    • 以规定的内容为分隔符进行连接
    • 只要是循环的,都可以使用该方法,比如:字符串、列表、元组
    user=['abc','123','&*^']
    res='.'.join(user)
    print(res)
    #结果:
    #abc.123.&*^

    14、.zfill()方法

    • 自动补零:比如内容里写3,则个位数前补2个零,十位数前补1个零
    a=1
    b=80
    a1=str(a).zfill(3)
    b1=str(b).zfill(3)
    print('a1='+a1+',b1='+b1)
    #结果:
    #a1=001,b1=080

    15、.find()方法

    • 找下标
    • 如果无此内容时,使用该方法不会报错,会返回-1

    16、.index()方法

    • 找下标
    • 如果无此内容时,使用该方法会报错
    s='abcdef'
    print(s.find('a'))
    print(s.index('a'))
    print(s.find('g'))
    #结果:
    #0
    #0
    #-1
    print(s.index('g'))
    #结果:
    #ValueError: substring not found

    17、.isdigit()方法

    • 判断字符串是否是正整数,是正整数返回True,不是返回False
    n='123.243'
    n2='-123'
    n3='123'
    print(n.isdigit())
    print(n2.isdigit())
    print(n3.isdigit())
    #结果:
    #False
    #False
    #True

    18、.islower()方法

    • 判断字符串是否都是小写字母

    19、.isupper()方法

    • 判断字符串是否都是大写字母
    s='abCdef'
    print(s.isupper())
    print(s.islower())
    s1='AGSDGS'
    s2='sdsdg'
    print(s1.isupper())
    print(s2.islower())
    print(s1.islower())
    print(s2.isupper())
    #结果:
    # False
    # False
    # True
    # True
    # False
    # False

    20、.isalpha()方法

    • 判断字符串中是否只有字母,如果只有字母,返回True,否则返回False

    21、.isalnum()方法

    • 判断字符串中是否有字母或者数字
    print('abcd123'.isalpha()) #判断字符串里面是否只有英文
    print('abc23454'.isalnum()) #判断字符串是否里面有英文或者由数字
    print('abc'.isalnum())
    print('124'.isalpha())
    # False
    # True
    # True
    # True

     22、.isspace()方法

    • 判断字符串是否是空格,只包含空格
    print('sdfs '.isspace())
    print(' '.isspace())
    #结果:
    # False
    # True

    23、.splitlines()方法

    • 以换行符分割字符串
    s='abdc
    sdfsd'
    print(s.splitlines()) #以换行符分割字符串
    #结果:
    #['abdc', 'sdfsd']

    24、string模块

    (1)string.ascii_letters:所有的大写、小写字母

    (2)string.ascii_uppercase:所有的大写字母

    (3)string.ascii_lowercase:所有的小写字母

    (4)string.digits:所有的数字

    (5)string.punctuation:所有的符号

    import string
    print(string.ascii_letters)
    print(string.ascii_uppercase)
    print(string.ascii_lowercase)
    print(string.digits)
    print(string.punctuation)
    #结果:
    # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    # ABCDEFGHIJKLMNOPQRSTUVWXYZ
    # abcdefghijklmnopqrstuvwxyz
    # 0123456789
    # !"#$%&'()*+,-./:;<=>?@[]^_`{|}~

    三、字符串操作

    1、字符串循环

    • 利用元素下标进行循环

    words='中秋节要上课'
    
    for w in words :
        print('每次打印的',w)

    Python中的循环内置了下标,因此只用一个变量p就可以,p就是每次取下标时对应的元素值。

    • 使用enumerate()枚举函数

    使用enumerate()函数,会自动将字符串的下标和元素都显示出来:

    
    
    words='中秋节要上课'
    for index,w in enumerate(words):
        print('每次打印的',index,w)

    2、切片

    字符串也有下标,使用上跟在列表中一致:

    words='中秋节要上课'
    print(words[0])
    print(words[::-1])

    3、存址方式

    1)现象:

    a='tanailing'
    b=a
    a='niuniu'
    print(b)#结果为tanailing
    print(a)#结果为niuniu

    2)原因:

    • 字符串是直接开辟新的内存空间,不会共用一块内存空间,因此修改了a的内容后,b不会变。

    四、面试题

    #判断一个字符串是否是回文,即:字符串和它反转后的字符串是否相等,如果相等就是回文。
    s='上海自来水来自海上'
    # 1232321
    # 1111
    # 回文算法,反过来倒过去都一样
    
    for i in range(10):
        s = input('请输入一个字符串:')
        if len(s)<2:
            print('字符串长度必须大于2')
        elif s==s[::-1]:
            print('是回文')
        else:
            print('不是回文')
  • 相关阅读:
    .NET6之MiniAPI(三):Response
    .NET6之MiniAPI(二):request
    .NET6之MiniAPI(一):开始Mini API
    Windows Server 2019+.Net Core项目+IIS部署
    Winform GDI 绘制抛物线
    关闭win10防火墙
    查询sql数据表的数据量
    获取Spring中@PathVariable注解里带点的完整参数
    Android Studio 新建真正的Java项目(原创)
    Typora 最后的免费版Version 0.11.18 下载地址 [转]
  • 原文地址:https://www.cnblogs.com/yanwuliu/p/9567494.html
Copyright © 2020-2023  润新知