Python字符串内置函数全解析:从基础格式化到高级处理

小鹿同学
小鹿同学
发布时间:2026-10-13 | 7人浏览过
原创

本文系统梳理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

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表