Python字符串处理常用函数实战:判断、编辑与字节转换详解

何川
何川
发布时间:2026-10-12| 2人浏览过
原创

本文系统总结Python中字符串处理的三大类常用函数。涵盖判断识别(如count、find、is系列)、编辑操作(如upper、replace、join、strip)以及字符串与字节串的编码互转。通过完整代码示例与运行结果,帮助开发者掌握实际开发中的字符串处理技巧。

前言

此前我们已介绍了字符串的基础概念与格式化方法,本文将深入讲解字符串的常用处理函数,内容实用,建议仔细阅读。

本系列文章均收录于同一专栏,欢迎持续关注。接下来进入具体讲解环节。

字符串都有哪些操作?

在实际软件开发中,我们通常面临以下几类核心需求:

第一大类:判断识别字符串

  • 用于判断字符串的字面类型(例如是否为纯数字、全字母或其他字符组合)。
  • 用于检测字符串中是否包含特定结构(如数字、大写字母、局部子串,以及统计子串出现的频次等)。

第二类:字符串编辑的操作(生成新字符串)

  • 涉及字符串的替换、合并、填充等变换操作。
  • 包括字典映射替换、零值填充、清除空白等操作。

第三类:字符串跟字节串的互转。

此类操作常见于跨程序或跨服务器的数据传输场景。通常做法是将数据编码为bytes类型进行传输,接收方再将其解码转换回string类型。

第一类 判断识别字符串

学委准备了以下代码供参考:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 10:13 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : string_funs_cat1.py
# @Project : hello
import sys

slogan = "keep studying, keep coding, I am Levin"

# 判断结构
print("算某个子串出现数次: slogan.count('keep') = ", slogan.count('keep'))
print("找某个子串首次出现的下标: slogan.find('keep') = ", slogan.find('keep'))
print("找某个子串最后出现的下标: slogan.rfind('keep') = ", slogan.rfind('keep'))
print("找某个子串下标: slogan.index('keep') = ", slogan.index('keep'))
print("找某个子串下标: slogan.rindex('keep') = ", slogan.rindex('keep'))
print("是否'keep'开头的字符串: slogan.startswith('keep') = ", slogan.startswith('keep'))
print("是否'keep'结束的字符串: slogan.endswith('keep') = ", slogan.endswith('keep'))


# 字符串属性相关
print("字符串长度: len(slogan) = ", len(slogan))
print("字符串是否都是空格: slogan.isspace() = ", slogan.isspace())
print("字符串是否大写: slogan.isupper() = ", slogan.isupper())
print("字符串是否小写: slogan.islower() = ", slogan.islower())
print("字符串是否为每个词首字母都大写: slogan.istitle() = ", slogan.istitle())

# 判断字符串数据类型
print("字符串是否全为字母: slogan.isalpha() = ", slogan.isalpha())
print("字符串是否全为数字: slogan.isalnum() = ", slogan.isalnum())
print("字符串是否数字: slogan.isnumeric() = ", slogan.isnumeric())
print("字符串是否浮点数: slogan.isdecimal() = ", slogan.isdecimal())
print("字符串是否为空格串: slogan.isspace() = ", slogan.isspace())

读者可直接复制并运行代码,学委同时补充了相应的运行效果图:

第二类 字符串编辑的操作

下面学委展示部分相关代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 10:13 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : string_funs_cat2.py
# @Project : hello
import sys

slogan = "keep studying, keep coding, I am Levin"

print("首字母大写: slogan.capitalize() = ", slogan.capitalize())
print("全部字母大写: slogan.upper() = ", slogan.upper())
print("全部字母小写: slogan.lower() = ", slogan.lower())
print("转为首字母都大写(标题风格): slogan.title() = ", slogan.title())
print("大小写逆转: slogan.swapcase() = ", slogan.swapcase())

table = slogan.maketrans({"e": "5"})
print("字符串替换表: slogan.translate(table) = ", slogan.translate(table))

# 字符串替换,合并,填充等
print("替换tabs为n个空格: 'hello\t学委'.expandtabs(4) = '", "hello\t学委".expandtabs(4))
print("左子串来串联传入的列表: ' '.join(slogan) = '", " ".join(slogan))
print("替换子串: ' '.replace(first, second) = '", slogan.replace("e", "11"))
print("填充0值: slogan.rzfill(2)= '", slogan.zfill(50))
print("填充#值: slogan.rjust(50,"#")= '", slogan.rjust(50,"#"))
print("填充#值: slogan.ljust(50,"#")= '", slogan.ljust(50,"#"))
print("移除首尾空格: slogan.strip()= '", slogan.strip())

data = slogan.split("e")
print("split slogan into data= ", data)

运行效果如下:

第三类:字符串跟字节串的互转

下面学委展示部分相关代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/30 10:13 上午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : string_funs_cat3.py
# @Project : hello
import sys

slogan = "keep studying, keep coding, I am Levin"
bytes = slogan.encode("utf-8")
print("type of encoded string = ", type(bytes))
# 注意python的string类型没有decode函数,该函数属于bytes类型对象特有!!!
print("type of decoded byte = ", type(bytes.decode("utf-8")))
print("type of decoded byte = ", bytes.decode("utf-8"))

运行效果如下:

总结

其实学委还遗漏了几个函数,但出于篇幅考虑,此处不再赘述。

学习编程并非单纯依靠记忆,但也绝非完全不看文档仅凭感觉。

我非常认同下面这句话:

读书破万卷,下笔如有神!

精心准备的代码,请读者亲自运行体验,结合清晰的注释自行感悟!(注释已写得非常清楚)

到此这篇关于Python处理字符串的常用函数的文章就介绍到这了,更多相关Python处理字符串函数内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。