当前位置: 首页 > 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.dtcms.com/a/294264.html

相关文章:

  • Zookeeper学习专栏(七):集群监控与管理
  • 解决代码生成过程虚拟总线信号无法直接传递给自定义总线信号问题的方法
  • Python curl_cffi库详解:从入门到精通
  • Redis能完全保证数据不丢失吗?
  • 基于OpenOCD 的 STM32CubeIDE 开发烧录调试环境搭建 DAPLINK/STLINK
  • 《计算机网络》实验报告六 电子邮件
  • 【轨物方案】分布式光伏电站运维升级智能化系列:老电站的数智化重生
  • Zabbix 企业级分布式监控
  • Axios 响应拦截器
  • dfaews
  • vue3笔记(2)自用
  • 设备虚拟化技术
  • 筛选数据-group_concat
  • Go语言实现对象存储——下载任意图片,保存到阿里云存储,并将URL保存到数据库。
  • 【数据库】国产数据库的新机遇:电科金仓以融合技术同步全球竞争
  • Pycaita二次开发基础代码解析:图层管理、基准控制与特征解析深度剖析
  • lwIP学习记录5——裸机lwIP工程学习后的总结
  • 【C++】类和对象(中)构造函数、析构函数
  • 海信IP501H-IP502h_GK6323处理器-原机安卓9专用-优盘卡刷固件包
  • ZLMediaKit流媒体服务器WebRTC页面显示:使用docker部署
  • Android多开实现方案深度分析
  • Android13重置锁屏(2)
  • 论文略读:Knowledge is a Region in Weight Space for Finetuned Language Models
  • springboot集成LangChain4j
  • 世博会无法在Android上启动项目:无法连接到TCP端口5554:连接被拒绝
  • 2025暑期—05神经网络-BP网络
  • PyCharm配置python软件安装步骤(附安装包)PyCharm 2025 超详细下载安装教程
  • 【CNN】LeNet网络架构
  • 盟接之桥说制造:浅谈“客供共生关系”:构建能力闭环,实现价值共赢
  • 论文笔记:On the Biology of a Large Language Model