Python字符串内置函数全解析:从基础格式化到高级处理
本文系统梳理Python中字符串的核心内置函数,涵盖大小写转换、查找定位、格式化输出、分割拼接及字符检测等常用操作。通过详细解析capitalize、casefold、format、split、join等函数的参数与返回值,结合代码示例展示其在实际开发中的应用场景,帮助开发者高效处理文本数据。
capitalize() 函数用于将字符串的首字母转换为大写,其余字符保持原样或转为小写。
a='someword' b=a.capitalize() print(b) —>Someword
casefold() 与 lower() 均可将字符串转换为小写。其中,casefold() 在转换未知字符或特殊语言字符时更为彻底,适用于需要严格大小写比较的场景。
a='someWORD' b=a.casefold() print(b) c=a.lower() print(c) —>someword —>someword
center(width, fillchar=None) 函数用于生成一个指定宽度的新字符串,原内容居中显示。若原字符串长度小于指定宽度,剩余空间由 fillchar 指定的单个字符填充,默认不填充。
a='someword' b=a.center(30,'*') print(b)
count(sub, start=None, end=None) 用于统计子序列 sub 在字符串中出现的次数。可通过 start 和 end 参数指定搜索的起始和结束索引范围,从而限定查找区域。
a='somewordsomeword' b=a.count(‘or') print(b) —>2
startswith(suffix, start=None, end=None) 与 endswith(suffix, start=None, end=None) 分别用于判断字符串是否以指定后缀开始或结束。这两个函数均支持通过 start 和 end 参数指定检查的范围。
a='somewordsomeword' b=a.startswith(‘sa') c=a.endswith(‘ord') print(b) print(c) —>False —>True
find(sub, start=None, end=None) 用于查找指定子串 sub 在字符串中第一次出现的位置索引。若未找到,则返回 -1。同样支持通过 start 和 end 参数限制查找范围。
a='somewordsomeword' b=a.find(‘me') print(b) —>2
format() 函数用于字符串格式化,将字符串中的占位符替换为指定的值。它支持位置参数和关键字参数,是构建动态字符串的常用方法。
test='I am {name},age {a}'
v=test.format(name='alex',a=19)
print(v)
—>i am alex,age 19
format_map(mapping) 是 format() 的变体,直接接收一个映射对象(如字典)作为参数进行格式化,避免了手动解包参数的步骤,适用于已存在映射数据的场景。
test='iam{name},age{a}'
v=test.format_map({“name”:'alex',”a”:19})
print(v)
—>i am alex,age 19
isalnum() 用于检测字符串是否仅包含字母和数字字符。若字符串为空或包含其他特殊字符、空格,则返回 False。
a='asdfs123*' b=a.isalnum() print(b) —>False
expandtabs(tabsize=number) 用于将字符串中的制表符(\t)替换为空格。参数 tabsize 指定每个制表符对应的空格数,默认通常为 8。该函数会将字符串按 tabsize 分割并补全空格,以对齐列。
a='asdfs123\t523fgbdf' b=a.expandtabs(5) print(b) —>asdfs123 523fgbdf
isalpha() 用于判断字符串是否仅包含字母字符。数字、空格或其他符号的存在会导致返回 False。
a='asdfsfgbdf' b=a.isalpha() print(b) —>True
isdecimal()、isdigit() 和 isnumeric() 均用于检测字符串是否仅包含数字,但识别范围不同。isdecimal() 仅识别标准的十进制数字字符;isdigit() 范围更广,可识别上标、下标等数字形式;isnumeric() 最为强大,还能识别中文数字(如“二”)等特殊数字字符。
a='132132②二' b=a.isdecimal() c=a.isdigit() d=a.isnumeric() print(b) print(c) print(d) —>False —>False —>True
isprintable() 用于检查字符串中是否包含不可打印字符,如换行符(\n)、制表符(\t)等。若存在此类字符,返回 False。
a='sdfgdfg\t' b=a.isprintable() print(b) —>False
isspace() 用于判断字符串是否全部由空白字符(包括空格、制表符、换行符等)组成。
a='dsvsdv' b=a.isspace() print(b) —>False
istitle() 用于判断字符串是否符合标题格式,即每个单词的首字母大写且其余字母小写。title() 函数则可将字符串转换为标题格式,确保每个单词首字母大写。
a='follow uncased characters and lowercase characters only cased ones' b=a.istitle() print(b) c=a.title() print(c) —>False —>Follow Uncased Characters And Lowercase Characters Only Cased Ones
join(iterable) 用于将可迭代对象中的字符串元素,以调用该函数的字符串作为分隔符,拼接成一个新字符串。
a='一二三四五六七' print(a) b='*' c=b.join(a) print(c) —>一二三四五六七 —>一二三四五六七
ljust(width, fillchar=None) 和 rjust(width, fillchar=None) 分别用于左对齐和右对齐填充。ljust 在右侧填充字符,rjust 在左侧填充字符,直至达到指定宽度。
a='hello' b=a.ljust(20,'*') c=a.rjust(20,'*') print(b) print(c) —>hello*************** —>***************hello
islower() 用于判断字符串是否全部为小写字母(忽略非字母字符)。lower() 函数则将字符串中的所有大写字母转换为小写。
a='Hello' b=a.islower() c=a.lower() print(b,c) —>False hello
isupper() 用于判断字符串是否全部为大写字母(忽略非字母字符)。upper() 函数则将字符串中的所有小写字母转换为大写。
a='Hello' b=a.isupper() c=a.upper() print(b,c) —>False HELLO
lstrip(chars=None)、rstrip(chars=None) 和 strip(chars=None) 分别用于去除字符串左侧、右侧或两端的指定字符。若未指定 chars 参数,则默认去除空格、换行符等空白字符。
a='Hello' b=a.lstrip() c=a.rstrip() d=a.strip() print(b) print(c) print(d) —>Hello —> Hello —>Hello
maketrans(*args, **kwargs) 用于创建字符映射表,translate(table) 则利用该映射表对字符串中的字符进行替换。两者结合可实现复杂的字符级转换操作。
a='asdgfrfbcvzxrentas' b=str.maketrans(‘xdsa','1234') c=a.translate(b) print(c) —> 432gfrfbcvz1rent43
partition(sep) 和 rpartition(sep) 用于将字符串按指定分隔符 sep 分割为三部分:分隔符前的子串、分隔符本身、分隔符后的子串。partition 从左向右查找,rpartition 从右向左查找。
a='helwloasvxcwaewc' b=a.partition(‘w') c=a.rpartition(‘w') print(b) print(c) —>(‘hel', ‘w', ‘loasvxcwaewc') —>(‘helwloasvxcwae', ‘w', ‘c')
split(sep=None, maxsplit=-1) 和 rsplit(sep=None, maxsplit=-1) 用于将字符串按指定分隔符分割为列表。split 从左向右分割,rsplit 从右向左分割。maxsplit 参数限制最大分割次数,分割后的分隔符不包含在结果中。
a='helwloasvxcwaewc' b=a.split(‘w',2) c=a.rsplit(‘w') print(b) print(c) —>[‘hel', ‘loasvxc', ‘aewc'] —>[‘hel', ‘loasvxc', ‘ae', ‘c']
splitlines(keepends=None) 用于按换行符(\n, \r, \r\n 等)分割字符串。若 keepends 为 True,则保留换行符;否则不保留。
a='helwloas\nvxcwaewc\nafgasdfs' b=a.splitlines() c=a.splitlines(True) print(b) print(c) —>[‘helwloas', ‘vxcwaewc', ‘afgasdfs'] —>[‘helwloas\n', ‘vxcwaewc\n', ‘afgasdfs']
startswith(prefix, start=None, end=None) 和 endswith(prefix, start=None, end=None) 用于判断字符串是否以指定前缀开始或结束。这两个函数均支持通过 start 和 end 参数指定检查的范围,与 t4 功能一致,常用于特定子串检查。
a='aefsfsfeeav' b=a.startswith(‘ae') c=a.endswith(‘av',1,9) print(b) print(c) True —>False
swapcase() 用于将字符串中的大写字母转换为小写,小写字母转换为大写,其他字符保持不变。
a='aefsfsfeeav' b=a.swapcase() print(b) —>AEFSFSFEEAV
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









