这篇教程python掌握字符串只需这一篇就够了写得很实用,希望能帮到您。
四大前缀除了普通的字符串,python在字符串前面可以有4个前缀,即frub。其中,f字符串可将{} 中的变量转为字符串;r 表示取消转义;u 表示使用Unicode字符;b 表示采用byte 类型。 前二者最常用,示例如下 >>> f"1+1={1+1}" #f字符串'1+1=2'>>> r"C:/abc/def" #r字符串取消转义'C://abc//def'
大小写转化 大小写转化 | 说明 | 示例 | 结果 | capitalize() | 首字母转大写 | 'i love u'.capitalize() | ‘I love u' | upper() | 所有字母转大写 | 'I love u'.upper() | ‘I LOVE U' | lower() | 所有字母转小写 | 'I LOVE U'.lower() | ‘i love u' | title() | 单词首字母大写 | 'i love u'.title() | ‘I Love U' | swapcase() | 大小写翻转 | 'I Love U'.swapcase() | ‘i lOVE u' | casefold() | 超级大写转小写 | 'Γ'.casefold() | ‘γ' |
空格调整函数其中输入w 表示将字符长度调整为w ,如未作说明,则其余位置补充为空格。 空格调整 | 说明 | 示例 | 结果 | center(w) | 调整后原字符串居中 | 'Love'.center(6) | ' Love ' | ljust(w) | 调整后原字符串居左 | 'Love'.ljust(6) | 'Love ' | rjust(w) | 调整后原字符串居右 | 'Love'.rjust(6) | ' Love' | zfill(w) | 在左侧补0 | '123'.zfill(6) | ‘000123' | expandtabs(w) | 将tab 转为w个空格 | '/ta'.expandtabs(4) | ' a' |
删除部分字符s 为字符串,如果为空则默认为空格。
lstrip(s) | 自左删除s 中的字符 | 'ILoveU'.lstrip('ILU') | ‘oveU' | rstrip(s) | 自右删除s 中的字符 | '/tLove/t'.rstrip() | ‘/tLove' | strip(s) | 执行lstrip(s)和rstrip(s) | '/tLove/t'.strip() | ‘Love' | removeprefix(s) | 自左删除s | 'ILoveU'.removeprefix('ILU') | ‘ILoveU' | removesuffix(s) | 自右删除s | 'ILoveU'.removesuffix('eU') | ‘ILov' |
字符串判定 | 返回True的条件 | 示例 | 返回值 | isalnum() | 只包含字母或数字 | 'abc1'.isalnum() | True | isalpha() | 只含字母 | 'abc1'.isalpha() | False | isdecimal() | 只包含十进制数字 | '123A'.isdecimal() | False | isdigit() | 只含数字 | '123A'.isdecimal() | False | islower() | 包含字母,且均为小写 | 'abc1'.islower() | True | isupper() | 包含字母,且均为大写 | '123'.isupper() | False | isnumeric() | 只包含数字字符 | '四五'.isnumeric() | True | isspace() | 只含空格 | 'asd'.isspace() | False | istitle() | 首字母均大写 | 'I Love U'.istitle() | True | isascii() | 均为ASCII码 | '四'.isascii() | False | isidentifier() | 可用作python标识符 | '1asd'.isidentifier() | False | isprintable() | 均为可打印字符 | chr(1).isprintable() | False |
字符串查找下面的函数均有三个输入参数,str 表示待匹配字符串,beg 和end 分别表示开头和结尾,默认为0和被匹配字符串的长度。以s.count(str, beg, end) 为例,表示s[beg:end] 中str 出现的次数。 s.count(str, beg, end) | str 出现的次数 | s.find(str, beg, end) | str 首次出现的位置,如未找到则返回-1 | s.rfind(str, beg, end) | str 最后出现的位置,如未找到则返回-1 | s.index(str, beg, end) | 和find 相同,但未找到会报错 | s.rindex(str, beg, end) | 和rfind 相同,但未找到会报错 | s.startswith(str, beg, end) | 若以str 开头,则返回True | s.endswith(str, beg, end) | 若以str 结尾,则返回True |
分割、合并和替换 s.split(str, num) | 将s 按照str 进行分割,若指定num,则分割为num+1 段 | s.rsplit(str, num) | 和split相同,但从右向左开始匹配 | s.splitlines([keepends]) | 按行分割,若指定keepends为False,则不保留换行符 | s.join(seq) | 以s 为分隔符,将seq 中的字符串组合在一起 | s.partition(str) | 将s 分成三份,str 左边,str 和str 右边 | s.rpartition(str) | 和partition 相同,但从右边开始 | s.replace(s1, s2, num) | 将s 中的s1 换成s2 ,若指定num,则替换不超过num次 | 除了replace ,还可以通过translate 来进行替换,区别在于translate 输入的是maketrans 建立的替换表。 >>> trans = ''.maketrans('I',"我")>>> "I Love U".translate(trans)'我 Love U'
format格式化format 可将标识符{} 替换为元组中的值,如果{} 中未指定序号,则顺序替代。
'{} Love {}'.format('I','U')'I Love U' 如果{} 中指定了序号,则按照序号的顺序替代 >>> '{0} Love {1}, {1} Love {0}'.format('I','U')'I Love U, U Love I' #最近被蜜雪冰城洗脑了。。。 当然,和C语言一样,这种格式化用于数字转化的情况多一些,python中通过: 来声明数字转化为字符串之后的格式 其中, ^, <, > 分别表示居中、左对齐、右对齐 + 表示在正数前显示+,负数前显示 - b 、d 、o 、x 分别是二进制、十进制、八进制、十六进制 具体示例如下 |