• python学习--字符串的常用操作


    字符串查询操作

    功能方法名称作用
    查询方法index()查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出valueError
    查询方法rindex()查找子串sunstr最后一次出现的位置,如果查找的子串不存在时,则抛出valueError
    查询方法find()查找子串sunstr第一次出现的位置,如果查找的子串不存在时,返回-1
    查询方法rfind()查找子串sunstr最后·一次出现的位置,如果查找的子串不存在时,返回-1
    s='hello,hello'
    print(s.index('lo'))
    print(s.rindex('lo'))
    print(s.find('lo'))
    print(s.rfind('lo'))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    字符串的大小写转换操作的方法

    功能方法名称作用
    大小写转换upper()把字符串中所有字符都转成大写字母
    大小写转换lower()把字符串中所有字符都转成小写字母
    大小写转换swapcase()把字符串中所有大写字母都转换成小写字母,把所有小写都转换成大写
    大小写转换capitalize()把第一个字符转换为大写,把其余字符转换为小写
    大小写转换title()把每个单词的第一个字符转换为大写,把每个单词的剩余字符转换为小写

    字符串内容对齐操作的方法

    功能方法名称作用
    字符串对齐center()居中对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
    字符串对齐ljust()左对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
    字符串对齐rjust()右对齐,第一个参数指定宽度,第2个参数指定填充符,第二个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串
    字符串对齐zfill()右对齐,左边用0填充,该方法只接受一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串长度,返回字符串本身
    s='hello,python'
    '''居中对齐'''
    print(s.center(20,'*'))
    '''左对齐'''
    print(s.ljust(20,'*'))
    print(s.ljust(10))
    print(s.ljust(20))
    '''右对齐'''
    print(s.rjust(20,'*'))
    print(s.rjust(10))
    '''右对齐,使用0填充'''
     print(s.zfill(20))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    字符串劈分操作的方法

    功能方法名称作用
    字符串的劈分split()1.从字符串的左边开始劈分,默认劈分字符是空格字符串,返回的值都是一个列表 2.以通过参数sep指定劈分字符串是劈分符 3.通过参数maxsplit指定劈分字符串时最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分
    字符串的劈分rsplit()1.从字符串的右边开始劈分,默认劈分的字符是空格字符串,返回的值都是一个列表 2.以通过参数sep指定劈分字符串是劈分符 3.通过参数maxsplit指定劈分字符串时最大劈分次数,在经过最大次劈分之后,剩余的子串会单独作为一部分
    s='hello world python'
    lst=s.split()
    print(lst)#['hello','world','python']
    s1='hello|world|python'
    print(s1.split(sep='|'))
    print(s1.split(sep='|',maxsplit=1))#['hello','world|python']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    判断字符串操作的方法

    功能方法名称作用
    判断字符串的方法isidentifier()判断指定的字符串是不是合法的标识符
    判断字符串的方法isspace()判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符)
    判断字符串的方法isalpha()判断指定的字符串是否全部由字母组成
    判断字符串的方法isdecimal()判断指定字符串是否全部由十进制的数字组成
    判断字符串的方法isnumeric()判断指定的字符串是否全部由数字组成
    判断字符串的方法isalnum()判断指定字符串是否全部由字母和数字组成
    s='hello,python'
    print('1.',s.isidentifier())#False
    print('2.','hello'.isidentifier())#True
    print('3.','张三'.isidentifier())#true
    print('4.','张三_123'.isidentifier())#True
    print('5.','\t'.isspace())#True
    print('6.','abc'.isalpha())#True
    print('7.','张三'.isalpha())#true
    print('8.','123'.isdecimal())#True
    print('9.','123四'.isdecimal())#False
    print('10.','123'.isnumeric())#True
    print('11.','123四'.isnumeric())#False
    print('12.','12a3'.isalnum())#true
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    字符串的替换与合并

    功能方法名称作用
    字符串的替换replace第一个参数指定被替换的子串,第二个参数指定替换字串的字符串,该方法返回替换后得到的字符串,替换前的字符串不发生变化,调用该方法时可以通过第三个参数指定最大替换次数
    字符串的合并join将列表或元组中的字符串合并成一个字符串
     s='hello,python'
     print(s.replace('python','java'))
     s1='hello,python,python,python'
     print(s.replace('python','java',2)
     lst=['hello','java','python']
     print('|'.join(lst))#hello|java|python
     print(''.join(lst))#hellojavapython
     lst=('hello','java','python')
     print(''.join(t))
     print('*'.join('python'))#p*y*t*h*o*n
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    字符串的比较操作

    • 运算符:>,<,>=,<=,==,!=
    • 比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较第二个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中所有后续字符将不再被比较
    • 比较原理:两个字符进行比较时,比较的是其ordinal value(原始值),调用内置函数ord可以得到指定字符的ordinal value。与内置函数ord对应的是内置函数chr,调用内置函数chr时指定ordinal value可以得到其对应的字符
    print('apple'>'app')#True
    print('apple'>'banana')#False
    print(ord('a'),ord('b'))#97 98
    print(chr(97),chr(98))#a b
    
    '''==与is的区别'''
    #==比较的是value,is比较的是id是否相等
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    字符串的切片操作

    • 字符串是不可变类型
      不具备增、删、改等操作
      切片操作将产生新的对象
    s='hello,world'
    s1=s[:5]
    s2=s[6:]
    s3='!'
    newStr=s1+s3+s2
    print(newStr)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    格式化字符串

    格式化字符串的两种方式

    • %作占位符
      我的名字叫:%s,今年%d岁了
    • { }作占位符
    #(1)%占位符
    name='张三'
    age=20
    print('我叫%s,今年%d岁' % (name,age))
    #(2){}
    print('我叫{0},今年{1}岁'.format(name,age))
    #(3)f-string
    print(f'我叫{name},今年{age}岁')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    print('%10d' % 99)#10表示的是宽度
    print('%.3f' % 3.1415926)#.3表示是小数点后3位
    #同时表示宽度和精度
    print('%10.3f' % 3.1415926)#一共总宽度为10,小数点后3位
    print('hellohello ')
    
    print('{0:.3}'.format(3.1415926))#.3表示的是一共是3位数
    print('{:.3f}'.format(3.1415926))#.3f表示是3位小数
    print('{:10.3f}'.format(3.1415926))#同时设置宽度和精度,一共是10位,3位是小数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    字符串的编码转换

    s='天涯共此时'
    #编码
    print(s.encode(encoding='GBK'))
    print(s.encode(encoding='UTF-8'))
    #解码
    byte=s.encode(encoding='GBK')
    print(byte.decode(encoding='GBK'))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    Python操作Excel常用方法汇总
    Java程序设计2023-第二次上机练习
    守望者的逃离—贪心算法
    文件上传下载
    Allegro如何输出各层PCB视图的PDF文件
    自动化部署static资源到cos-bucket
    CPU密集型、IO密集型
    Pytorch DistributedDataParallel(DDP)教程二:快速入门实践篇
    SVM——支持向量机(二)
    聊聊ChatGLM3多用户并发API调用的问题
  • 原文地址:https://blog.csdn.net/m0_47002684/article/details/132906298