当前位置: 首页 > news >正文

python 字符串常用处理函数

以下是Python中​​字符串常用处理函数​​的系统整理,涵盖字符串创建、修改、查找、分割、判断等核心操作。根据功能分类说明,并附带简洁示例,方便快速查阅和使用。


📐 一、字符串创建与基础操作

  1. ​创建字符串​
    Python支持单引号、双引号、三引号创建字符串:

    s1 = 'Hello'          # 单引号
    s2 = "World"          # 双引号
    s3 = '''Multi-line
    string'''             # 三引号支持多行字符串[6](@ref)

  2. ​访问字符与切片​

    • 索引:str[index](索引从0开始,负数表示倒数)
      s = "Python"
      print(s[0])    # 'P'(首个字符)
      print(s[-1])   # 'n'(末尾字符)[6](@ref)

    • 切片:str[start:end:step]
      s = "Python"
      print(s[1:4])  # 'yth'(索引1到3)
      print(s[::2])   # 'Pto'(步长为2)[1,6](@ref)


🔧 二、字符串修改与转换

​方法​​功能​​示例​​输出​
upper()转大写字母"Hello".upper()"HELLO"
lower()转小写字母"WORLD".lower()"world"
capitalize()首字母大写"hello".capitalize()"Hello"
title()每个单词首字母大写"hello world".title()"Hello World"
swapcase()大小写互换"HeLLo".swapcase()"hEllO"
replace(old, new[, count])替换子串(count指定次数)"apple".replace("p", "b", 1)"able"

🔍 三、字符串查找与统计

​方法​​功能​​示例​​返回值​
find(sub[, start, end])查找子串位置(未找到返回-1)"hello".find("e")1
index(sub[, start, end])find(),未找到抛出异常"hello".index("l")2
count(sub[, start, end])统计子串出现次数"hello".count("l")2
startswith(prefix)检查是否以指定前缀开头"hello".startswith("he")True
endswith(suffix)检查是否以指定后缀结尾"world".endswith("ld")True

✂️ 四、字符串分割与拼接

  1. ​分割​

    • split(sep=None, maxsplit=-1):按分隔符切分(默认按空格)
      s = "a,b,c" 
      print(s.split(",")) # ['a', 'b', 'c'][3,5](@ref)
      
    • splitlines([keepends]):按行分割(keepends保留换行符)
      s = "line1\nline2"
      print(s.splitlines()) # ['line1', 'line2'][4](@ref)
  2. ​拼接​

    • join(iterable):用字符串连接可迭代对象
      words = ["Hello", "World"] 
      print("-".join(words)) 
      # "Hello-World"[3](@ref)

🧹 五、空白与字符处理

​方法​​功能​​示例​​输出​
strip([chars])移除两侧空白或指定字符" hi ".strip()"hi"
lstrip([chars])移除左侧空白或指定字符" hi ".lstrip()"hi "
rstrip([chars])移除右侧空白或指定字符" hi ".rstrip()" hi"
zfill(width)左侧用0填充至指定宽度"42".zfill(5)"00042"

🧪 六、字符串判断与检测

​方法​​功能​​示例​​返回值​
isalpha()是否全为字母"abc".isalpha()True
isdigit()是否全为数字"123".isdigit()True
isalnum()是否全为字母或数字"a1b2".isalnum()True
isspace()是否全为空白字符" ".isspace()True
islower()是否全为小写"hello".islower()True

🧩 七、格式化与对齐

​方法​​功能​​示例​​输出​
format(*args, **kwargs)格式化字符串(支持占位符{}"{} {}".format("Hello", "World")"Hello World"
center(width[, fillchar])居中并填充指定字符"hi".center(10, "-")"----hi----"
ljust(width[, fillchar])左对齐并填充指定字符"hi".ljust(10, "*")"hi********"
rjust(width[, fillchar])右对齐并填充指定字符"hi".rjust(10, "*")"********hi"

💎 八、其他实用函数

  • ​编码转换​​:
    encode(encoding="utf-8"):字符串→字节串
    decode():字节串→字符串
    s = "你好"
    b = s.encode("utf-8")  # b'\xe4\xbd\xa0\xe5\xa5\xbd'
    b.decode("utf-8")      # "你好"[5](@ref)
  • ​字符映射​​:
    maketrans() + translate():批量替换字符
    table = str.maketrans("ab", "12")
    print("abc".translate(table))  # "12c"[7](@ref)

💡 九、综合运用示例

s = "  Hello World!  "
# 去空白→转小写→替换→分割
processed = s.strip().lower().replace("world", "Python").split()
print(processed)  # ['hello', 'Python!']

⚠️ ​​注意​​:字符串是不可变类型,所有修改操作均返回​​新字符串​​,原始字符串不变

。更多高级用法(如正则表达式)可参考re模块。
http://www.lryc.cn/news/597783.html

相关文章:

  • 判断矩形能否放入多边形内——cad c# 二次开发实现
  • docker的镜像与推送
  • 卡尔曼滤波数据融合
  • GaussDB null的用法
  • mac测试ollama llamaindex
  • c++--面向对象封装--实践
  • 【2025/07/23】GitHub 今日热门项目
  • git的使用,推送仓库github
  • 【数据结构】——时间与空间复杂度深度解析
  • 第一章:Go语言基础入门之Hello World与Go程序结构
  • 设置低秩适配器(LoRA)
  • 苍穹外卖DAY11
  • 【网安-小迪】Day5:反弹SHELL不回显带外正反向连接防火墙出入站文件下载
  • android studio打包vue
  • vue写的app设置角标
  • 智能小e-集成配置
  • vue3与ue5通信-工具类
  • 2025年电赛--电源题赛前押题
  • 【每日算法】专题十八_BFS 解决拓扑排序
  • 刷完jetpack后无法打开安装的浏览器的解决办法useful
  • SSM框架中关于Spring MVC的技术问题
  • C语言常见的预定符号常量
  • spring的value注解
  • 构建高性能推荐系统:MixerService架构解析与核心实现
  • 解决uniapp 使用uview生成小程序包太大无法上传的问题
  • 构件组装中的架构失配问题:分析与解决
  • 架构师--基于常见组件的微服务场景实战
  • 压测软件JMeter安装配置以及创建桌面快捷方式(详细图解)
  • 「iOS」——KVO
  • 通用表格识别技术的应用,深刻改变人们处理表格数据的方式