Python 字符串常用函数详解

小石头
小石头
发布时间:2026-10-11| 2人浏览过
原创

本文详细解析Python中字符串处理的常用函数,包括find()、index()、len()、count()、replace()、split()、upper()、title()、center()、join()、isspace()、isalnum()、isdigit()和isalpha()。通过具体代码示例,展示各函数的功能、参数及返回值,帮助开发者高效处理字符串操作。

查找与定位:find() 与 index()

在字符串中查找子串是常见需求。Python 提供了 find() 和 index() 两个方法,它们的行为相似但错误处理机制不同。

find():安全查找

find(sub[, start[, end]]) 用于检测字符串是否包含指定子串。如果包含,返回子串第一次出现的索引;如果不包含,返回 -1。这种方式不会导致程序崩溃,适合不确定子串是否存在的情况。

str = "Hello World"
print(str.find("Hello"))  # 返回值:0
print(str.find("W"))      # 返回值:6(注意:空格也是字符)
print(str.find("R"))      # 返回值:-1(未找到)

index():严格查找

index(sub[, start[, end]]) 同样用于检测子串,并返回开始索引值。但与 find() 不同,如果子串不存在,index() 会抛出 ValueError 异常。因此,在不确定子串是否存在时,建议优先使用 find() 或配合 try-except 块使用。

str = "Hello World"
print(str.index("Hello"))  # 返回值:0
print(str.index("o"))      # 返回值:4
print(str.index("W"))      # 返回值:6
# str.index("R")  # 抛出 ValueError: substring not found

长度与统计:len() 与 count()

获取字符串长度和统计字符出现次数是基础操作。

len():计算长度

len(str) 返回字符串的长度,索引从 0 开始计算。这是获取字符串大小的最直接方式。

str = "Hello World"
print(len(str))  # 返回值:11(包含空格)

count():统计次数

count(sub[, start[, end]]) 用于统计指定子串在字符串中出现的次数。支持指定搜索范围 [start, end],默认从字符串开头到结尾。

str = "Hello World"
print(str.count("o"))       # 返回值:2
print(str.count('o', 5, 10))  # 返回值:1(从索引5到10之间)
print(str.count('o', 4, len(str)))  # 返回值:2(从索引4到字符串结束)

修改与分割:replace() 与 split()

字符串是不可变对象,修改操作会返回一个新的字符串。

replace():替换子串

replace(old, new[, count]) 用于将字符串中的旧子串替换为新子串。可选参数 count 指定替换次数,默认替换所有匹配项。

str = "Hello World"
print(str.replace('hello', 'HELLO'))  # 注意:原字符串中是小写'h',此处替换无效果
print(str.replace('W', 'B'))          # 返回值:'Hello Borld'

split():分割字符串

split(sep=None, maxsplit=-1) 用于将字符串按指定分隔符分割成列表。默认按空白字符分割。

str = "Hello World"
print(str.split('o'))  # 返回值:['Hell', ' W', 'rld']

大小写与格式化:upper(), title(), center()

这些方法用于调整字符串的显示格式。

upper() 与 title()

  • upper():将所有字符转换为大写。
  • title():将每个单词的首字母转换为大写,其余字母小写。
str = "hello world"
print(str.upper())   # 返回值:'HELLO WORLD'
print(str.title())   # 返回值:'Hello World'

center():居中填充

center(width[, fillchar]) 返回一个原字符串居中,并使用空格(或指定字符)填充至指定长度的新字符串。如果指定长度小于原字符串长度,则返回原字符串。

str = "Hi"
print(str.center(80))  # 返回值:'                                        Hi                                        '

连接与判断:join() 与 is系列

join():字符串连接

join(iterable) 是字符串方法,用于将可迭代对象(如列表)中的元素连接成一个新字符串,分隔符为调用该方法的字符串。

_str = "_"
list_items = ["I", "Love", "You"]
print(_str.join(list_items))  # 返回值:'I_Love_You'

is系列:类型判断

这些方法用于检测字符串的内容类型,返回布尔值。

  • isspace():检测字符串是否只包含空白字符(空格、制表符、换行等)。仅含空白返回 True,否则 False。
  • isalnum():检测字符串是否只包含字母或数字。包含空格或其他符号返回 False。
  • isdigit():检测字符串是否只包含数字字符。注意:不包括负号和小数点。
  • isalpha():检测字符串是否只包含字母。不包括数字和空格。
str_space = " "
print(str_space.isspace())  # 返回值:True

str_alnum = "a123"
print(str_alnum.isalnum())  # 返回值:True

str_num = "123"
print(str_num.isdigit())    # 返回值:True

str_alpha = "abcd"
print(str_alpha.isalpha())  # 返回值:True

总结

掌握这些字符串处理函数,可以大幅提升 Python 编程中处理文本数据的效率。根据具体需求选择合适的函数,注意 find() 与 index() 的错误处理差异,以及字符串的不可变性,是编写健壮代码的关键。

以上就是 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 算法库。