Python字符串操作完全指南:查找、替换与拼接方法

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

Python字符串操作完全指南

Python字符串基础

在Python中,字符串是处理文本信息的基础数据类型。掌握字符串操作原理对于高效编程至关重要。

字符串作为str类型对象

Python中的字符串是内置str类型的对象,代表Unicode字符序列。每个字符串都支持大量内置方法用于文本处理。字符串支持通过索引访问单个字符,也支持比较和排序操作。

text = "Python"
print(type(text))  # <class 'str'>
print(len(text))   # 6

字符串的不可变性

Python中的字符串是不可变对象。这意味着任何转换操作都会创建一个新字符串,原始字符串保持不变。这一原则确保了数据安全性和代码可预测性。

original = "hello"
modified = original.upper()
print(original)  # 'hello' - 原字符串不变
print(modified)  # 'HELLO' - 新字符串

创建字符串的多种方式

Python提供了多种创建字符串的方法:

  • 单引号用于简单字符串
  • 双引号用于包含撇号的字符串
  • 三引号用于多行文本
  • 原始字符串用于转义特殊字符
single = '简单字符串'
double = "包含'撇号'的字符串"
multiline = """第一行
第二行
第三行"""
raw = r"文件\路径"

字符串索引与切片操作

访问字符串中的字符

字符串中的每个字符都有对应的索引,索引从0开始。Python同时支持正向索引和负向索引。

text = "Python"
print(text[0])   # 'P' - 第一个字符
print(text[5])   # 'n' - 最后一个字符
print(text[-1])  # 'n' - 通过负索引访问最后一个字符
print(text[-6])  # 'P' - 通过负索引访问第一个字符

字符串切片操作

切片可以从原始字符串中提取子串。切片语法:字符串[起始:结束:步长]。起始索引包含在内,结束索引不包含。

text = "Python Programming"
print(text[1:4])    # 'yth'
print(text[:6])     # 'Python'
print(text[7:])     # 'Programming'
print(text[::2])    # 'Pto rgamn' - 每隔一个字符
print(text[::-1])   # 'gnimmargorP nohtyP' - 字符串反转

负索引的实际应用

负索引简化了字符串末尾的操作,在处理文件和变长数据时特别有用。

filename = "document.pdf"
extension = filename[-4:]  # '.pdf'
name_part = filename[:-4]  # 'document'

字符串查找方法

基础子串查找方法

find()方法返回子串首次出现的索引。如果未找到子串,返回-1。rfind()方法从字符串末尾开始查找。

text = "banana programming"
print(text.find("ana"))     # 1
print(text.find("python"))  # -1 (未找到)
print(text.rfind("ana"))    # 3
print(text.find("a", 2))    # 3 (从索引2开始查找)

带异常处理的严格查找方法

index()和rindex()方法与find()类似,但如果未找到子串,会抛出ValueError异常。

text = "banana"
print(text.index("n"))      # 2
# print(text.index("z"))    # ValueError: substring not found

博客

书籍推荐