• [Python]字符串处理与常用函数



    字符串是Python中最常用的数据类型。我们可以使用引号( '")来创建字符串。
    字符串格式化相关内容参见《 Python3输入输出与字符串格式化

    字符串

    Python不支持单字符类型,单字符也是作为一个字符串使用。

    三引号可以可创建复杂字符串:

    • 允许字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符;
    • 常用三引号做多行注释与函数注释;
    • 三引号为三个单引号或者双引号,里面的内容原样输出。

    判空

    判断字符串是否为空(s为None或空串``):if not s:
    或通过len(s)获取字符串长度,判断是否为0(此时要保证s不为None,s)。

    :python中会把None、False、0、空串"", 空列表[], 空字典{}, 空元组()作为假

    切片

    访问子字符串,可使用方括号[]来截取切片,字符串的截取的语法格式如下(a设为"Runoob"):

    • a[1:] <=> a[-5:] = ‘unoob’
    • a[:1] <=> a[:-5] = ‘R’
      str-

    运算符

    以下表格中为常用的运算符(a设为"Hello",b设为"Python")

    操作符描述实例
    +字符串连接a + b输出: HelloPython
    *重复输出字符串a*2输出:HelloHello
    []索引获取字符a[1]输出:e
    [start:stop]截取字符串中的一部分([start,stop))a[1:4]结果: ell
    in成员运算符 - 如果字符串中包含给定的字符返回 True‘H’ in a 输出结果 True
    not in成员运算符 - 如果字符串中不包含给定的字符返回 True‘M’ not in a 输出结果 True
    r/R原始字符串 - 所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。print( r’\n’ )
    print( R’\n’ )

    内建函数

    字符串可编码为字节数组:s.encode(encoding='UTF-8', errors='strict');在需要时使用bytes.decode()来解码为字符串。

    通过s.expandtabs(tabsize=8),可把字符串中的tab转换为空格。

    判断内容

    判断字符串中字符内容分类:

    方法描述
    isalnum()所有字符都是字母或数字,则返回 True
    isalpha()所有字符都是字母,则返回 True
    isdecimal()所有字符都是十进制数,则返回 True
    isdigit()所有字符都是数字,则返回 True
    isidentifier()如果字符串是标识符,则返回 True
    islower()所有字符都是小写,则返回 True
    isnumeric()所有字符都是数,则返回 True
    isprintable()所有字符都是可打印的,则返回 True
    isspace()所有字符都是空白字符,则返回 True
    istitle()如果字符串遵循标题规则,则返回 True
    isupper()所有字符都是大写,则返回 True

    查找替换

    a in b判断b是否包含a(in实际使用的是对象内的__contains__方法)

    查找是否包含指定的文本内容:

    方法描述
    count(s, beg=0,end=len(str))返回s在字符串中出现的次数
    startswith(s)如果以s开头,则返回 true
    endswith(s, beg=0,end=len(str))如果字符串以s结尾,则返回 true
    find(s, beg=0,end=len(str))返回字符串中s开始的索引值,若未找到返回-1
    index(s, beg=0,end=len(str))与find类似,但为找到抛出异常
    replace(old, new[,max])将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次
    rfind()与find类似,但返回最后一个匹配
    rindex()与index类似,但返回最后一个匹配
    max(s)返回s中最大的字符
    min(s)返回s中最小的字符

    大小写

    大小写转换

    方法描述
    capitalize()把字符串的第一个字符转换为大写
    title()把每个单词的首字符转换为大写
    lower()把字符串转换为小写
    upper()把字符串转换为大写
    swapcase()切换大小写
    casefold()把字符串转换为小写与lower相比可转换除ASCII外的其他语言(如德语等)

    文本对齐

    对齐字符串文本:

    方法描述
    center(width[,fillchar])返回居中的字符串(两边用fillchar填充,默认空格)
    ljust(width[,fillchar])返回字符串的左对齐版本
    rjust(width[,fillchar])返回字符串的右对齐版本
    zfill(width)返回长度为width字符串(头部填充0)

    首尾截取

    移除空白或指定字符

    方法描述
    lstrip()截掉字符串左边的空格或指定字符
    rstrip()删除尾部空格(或指定字符)
    strip()头尾同时删除

    拆分连接

    常用内建函数如下:

    方法描述
    s.join(seq)以s为分隔符,把seq串联成一个字符串
    rsplit()从尾部开始分割(未指定max是与split相同)
    split(str=“”,num=string.count(str))以str为分隔符拆分字符串,若指定num则最多返回num+1个子串
    splitlines([keepends])按行拆分字符串并返回列表(若keepends为False,则子串不包括换行符;否则包括)

    映射表maketrans

    Python3.4+,使用内建函数 bytearray.maketrans()、bytes.maketrans()、str.maketrans()来创建映射表。

    str.maketrans(x[, y[, z]) 返回一个可供 str.translate() 使用的转换对照表

    • x:必需,字符串中要替代的字符组成的字符串
    • y:可选,相应的映射字符的字符串
    • z:可选,要删除的字符

    分割partition

    s.partition(sub)方法用来根据指定的分隔符将字符串进行分割:搜索字符串sub,并返回包含三个元素的元组:

    • 第一个匹配sub之前的所有内容
    • 搜索字符串sub
    • 第一个匹配sub之后的所有内容

    rpartition() 方法类似于 partition() 方法,只是该方法是从目标字符串的尾部开始搜索分割符:

    • 最后一个匹配sub之前的所有内容
    • 搜索字符串sub
    • 最后一个匹配sub之后的所有内容
  • 相关阅读:
    优化隔离级别以扩展分布式数据库
    MySql中json类型数据的查询以及在MyBatis-Plus中的使用
    测试用例的设计方法(全):正交实验设计方法|功能图分析方法|场景设计方发
    SpringBoot实践(三十二):5分钟搭建springboot单体应用开发框架
    mysql引入表名称的注意事项
    你以为的推荐系统,其实只是推荐模型
    【Java刷题】初始化List应该选择ArrayList还是LinkedList
    CISSP学习笔记:管理安全运营
    Redis学习笔记17:基于spring data redis及lua脚本批处理scan指令查询永久有效的key
    嵌入式操作系统--机房管理系统
  • 原文地址:https://blog.csdn.net/alwaysrun/article/details/126069879