python字符串的常用操作

'''
                         python字符串
字符串:是python语言中基本的数据类型,和元组一样是不可变序列
一.字符串的查询操作方法

(1)找这个子串最先出现的位置,未找到该字串会抛出异常 substring not found
    方法:index('子串')
        eg: s1 = "python my love"
            print(s1.index('o'))
        输出: 4
(2)找这个子串最后出现的位置,未找到该子串会抛出异常 substring not found
    方法: rindex('子串')
        eg: s1 = "python my love"
            print(s1.rindex('o'))
        输出:11
(3)找这个子串最先出现的位置,未找到该字串不会抛出异常,会返回-1
    方法: find('子串')
        eg:s1 = "python my love"
            print(s1.find('o'))
        输出: 4
(4)找这个子串最后出现的位置,未找到该子串不会抛出异常,会返回-1
    方法: rfind('子串')
        eg: s1 = "python my love"
            print(s1.rfind(""o))
        输出: 11

二.字符串的大小写转换操作
(1)将字符串中所有小写字母转换成大写
    方法: upper()
        eg: s1 = "python my love"
            print(s1.upper())
        输出: PYTHON MY LOVE

(2)将字符串中所有大写字母转换成小写字母
    方法: lower()
        eg: s1 = "PYTHON MY LOVE"
            print(s1.lower())
        输出: python my love

(3)将字符串中的所有小写字母转换成大写字母,将所有的大写字母转换成小写字母
    方法: swapcase()
        eg: s1 = "PyThoN MY loVe"
            print(s1.swapcase())
        输出:pYtHOn my LOvE

(4)把字符串中第一个字符转换成大写,其余字符转换成小写
    方法: capitalize()
        eg: s1 = "PyThoN MY loVe"
            print(s1.capitalize())
        输出:Python my love

(5)将字符串中每个单词首字母大写,其余小写
    方法: title()
        eg: s1 = "python my love"
            print(s1.title())
        输出: Python My Love

三.字符串的对齐操作
(1)  center() :居中对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于字符串的宽度,则返回原字符串
        eg: s1 = "python my love"
            print(s1.center(30,'*'))
        输出: ***python my love***

(2) ljust() :左对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于字符串的宽度,则返回原字符串
        eg: s1 = "python my love"
            print(s1.ljust(20,'%'))
        输出:python my love%%%%%%

(3) rjust() :右对齐,第一个参数指定宽度,第二个参数指定填充符,第二个参数可选,默认为空格,如果设置宽度小于字符串的宽度,则返回原字符串
        eg: s1 = "python my love"
            print(s1.rjust(20,"$"))
        输出: $$$$$$python my love

四.字符串的劈分操作
1.  split()  : (1)从左侧开始劈分,默认劈分字符为空格,返回的值是一个列表
                (2) 可以使用sep指定劈分字符
                (3) 可以使用maxsplit来指定最大劈分次数,在经过最大劈分次数过后,剩下的会成为单独的一部分。
    语法格式: 字符串.split(sep='字符',maxsplit=劈分次数)    ## sep,maxsplit 为可选项
        eg: s1 = "python my love"
            print(s1.split())
            s2 = "python*my*love"
            print(s2.split(sep='*'))
            s3 = "python my love"
            print(s3.split(maxsplit=1))

        输出: ['python', 'my', 'love']
             ['python', 'my', 'love']
             ['python', 'my love']

2. rsplit()  :  (1)从右侧开始劈分,默认劈分字符为空格,返回的值是一个列表
                (2) 可以使用sep指定劈分字符
                (3) 可以使用maxsplit来指定最大劈分次数,在经过最大劈分次数过后,剩下的会成为单独的一部分。
    语法格式: 字符串.split(sep='字符',maxsplit=劈分次数)   ## sep,maxsplit 为可选项
        eg: s1 = "python my love"
            print(s1.rsplit())
            s2 = "python*my*love"
            print(s2.rsplit(sep='*'))
            s3 = "python my love"
            print(s3.rsplit(maxsplit=1))

        输出: ['python', 'my', 'love']
            ['python', 'my', 'love']
            ['python my', 'love']

五.判断字符串操作
1.判断字符串是不是合法得标识符
    方法: isidentifier()
        eg: print("python".isidentifier())
        输出: True

2.判断字符串是否全部由空白字符(回车、空格、水平制表符)组成
    方法: isspace()
        eg: print("\t".isspace())
        输出: True

3.判断字符串是否全部由字母组成
    方法: isalpha()
        eg: print("python".isalpha())
        输出: True

4.判断字符串是否全部由十进制数组成
    方法: isdecimal()     ##只能是十进制阿拉伯数字
        eg: print("123四".isdecimal())
        输出: False

5.判断字符串是否全部由数字组成
    方法: isnumeric()    ## 这里可以是其他数字
        eg: print("123四".isnumeric())
        输出: True

6.判断字符串是否全部由字母和数字组成
    方法: isalnum()
        eg: print("sfja123".isalnum())
        输出: True

六.字符串操作
1.替换字符串内容
    方法:replace(参数1,参数2,参数3)   ## 参数1:被替换的子串  参数2: 指定替换子串得字符串   参数3: 替换得最大次数
        eg: s = "i like python,you like python too"
            print(s.replace("like","dislike",2))
        输出: i dislike python,you dislike python too

2.将列表、元组、字符串进行连接
    方法: '字符'.join()    ## 括号里可以是列表名,元组名、字符串

    (1)连接列表:
        eg:s = ['I','like','python']
            print(' * '.join(s))

        输出: I * like * python

    (2) 连接元组:
        eg: s = ('I','like','python')
            print(' * '.join(s))
        输出: I * like * python
    (3) 连接字符串:
        eg: print(' * '.join("python"))
        输出: p * y * t * h * o * n

七.字符串得比较操作
1.运算符: > >= < <= == !=

2.比较规则:将两个字符串中的字符依次比较,相等则继续比较下一个字符,直到不相等的时候,其结果便是俩个字符串比较的结果,且后面的字符将不再比较。

3.比较原理: 两个字符串比较时,比较的是原始值,调用内置函数ord()可以得到指定字符的原始值。与其对应的内置函数chr()则可以通过原始值得到对应的字符。
    eg: print("python">"java")
        print(ord('p'),ord('j'))

    输出:True
        112 106

八.字符串的切片操作(操作类似列表切片)
    ## 因为字符串是一个不可变序列,所以它不具备增、删、改的操作。切片完会产生一个新的对象。
        语法格式: 变量名[start:stop:step]
            eg: s1 = "123456789"
                print(s[1:8:2])
            输出: 2468

九.格式化字符串
1.%作占位符   %s:字符串  %i或者%d: 整数    %f: 浮点数
    语法格式: 占位符  %  (实际值,....)
        eg: name = "张三"
            age = 20
            print('%s今年%d岁了' % (name,age))
        输出: 张三今年20岁了

2.{}作为占位符
    语法格式: 占位符.format(实际值,....)
        eg: name = "张三"
            age = 20
            print('{0}今年{1}岁了'.format(name,age))
        输出:   张三今年20岁了

3.f-string
    语法格式: f"占位符"
        eg: name = "张三"
            age = 20
            print(f'{name}今年{age}岁了')
        输出: 张三今年20岁了

十.字符串的编码转换
##编码: 将字符串转换为二进制数据(bytes)
##解码: 将(bytes)数据的类型转换成字符串类型
1.编码
    方法: encode(encoding='编码格式')    编码格式:  如: ‘GBK’   'UTF-8'
        eg: s = "学习使我快乐"
            print(s.encode(encoding='GBK'))
        输出: b'\xd1\xa7\xcf\xb0\xca\xb9\xce\xd2\xbf\xec\xc0\xd6'

2.解码
    方法: decode(encoding='编码格式')
        eg:
            s = "学习使我快乐"
            t = s.encode(encoding='GBK')
            print(t.decode(encoding='GBK'))
        输出: 学习使我快乐
'''
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值