无论是爬虫清洗数据、日志分析还是命令行工具,字符串处理都是 Python 开发者的日常。Python 的 str 类型自带几十个方法,配合 f-string 格式化,足以应付绝大多数文本场景。本文按"清洗 → 查找 → 拆分 → 格式化"的顺序系统过一遍。

1. 字符串基础与转义

字符串用单引号或双引号包裹,\n 换行、\t 制表符、\\ 反斜杠是常用转义。三引号可以保留多行原文:

s1 = '单引号'
s2 = "双引号里可以有 ' 单引号"
s3 = """多行
字符串"""
print(len(s3))   # 长度包含换行符

# 原始字符串:路径不用转义
path = r"C:\Users\ada\notes.txt"
print(path)

2. 清洗:大小写与去空白

用户输入往往带着多余的空格和大小写不统一,先清洗再比较是标准流程:

text = "  Hello, Python World!  "
print(text.strip())       # 去掉两端空白
print(text.lstrip(" H"))  # 去掉左侧空格和 H
print(text.lower())       # 转小写
print(text.upper())       # 转大写
print(text.title())       # 每个单词首字母大写

3. 查找、替换与判断

s = "hello.py"
print(s.startswith("hello"))  # True
print(s.endswith(".py"))      # True
print(s.find("."))            # 5 找不到返回 -1
print(s.count("l"))           # 2 出现次数
print(s.replace("hello", "hi"))  # hi.py

print("12345".isdigit())  # True
print("abc".isalpha())    # True
print("abc123".isalnum()) # True

find 找不到返回 -1,而 index 会抛 ValueError,按需选择。

4. 拆分与拼接

split 按分隔符切分,join 把列表拼回字符串。处理 CSV、路径、URL 都靠它们:

data = "苹果,香蕉,橙子,葡萄"
fruits = data.split(",")
print(fruits)          # ['苹果', '香蕉', '橙子', '葡萄']

print("-".join(fruits))    # 苹果-香蕉-橙子-葡萄
print(" ".join(["a", "b"]))  # a b

# 只切前两刀
parts = "1-2-3-4".split("-", 2)
print(parts)           # ['1', '2', '3-4']

# 按空白切分(任意数量空格都行)
print("a   b\tc".split())  # ['a', 'b', 'c']

5. 格式化:f-string 实战

f-string 是 Python 3.6+ 推荐写法,支持表达式、对齐、精度和进制转换:

name, score = "Ada", 97.5
print(f"{name} 的得分是 {score:.1f} 分")
print(f"正确率:{score/100:.2%}")     # 97.50%
print(f"{score:06.1f}")             # 097.5 补零

# 对齐与填充
print(f"|{name:<10}|")   # 左对齐
print(f"|{name:>10}|")   # 右对齐
print(f"|{name:^10}|")   # 居中

# 千分位与进制
print(f"{1234567:,}")     # 1,234,567
print(f"{255:#x}")        # 0xff

6. 实战:清洗一行日志

把上面学到的串起来——清洗并提取日志中的关键信息:

line = "  ERROR 2026-07-06 10:23:45  磁盘空间不足  "
line = line.strip().lower()
level, rest = line.split(" ", 1)
date, _, msg = rest.partition(" ")
print(f"级别:{level}")
print(f"时间:{date}")
print(f"信息:{msg}")

# 输出:
# 级别:error
# 时间:2026-07-06
# 信息:10:23:45  磁盘空间不足

partition 返回 (分隔符前, 分隔符, 分隔符后) 三元组,比手动 find + 切片更安全。

💡 学习建议:字符串方法很多,不必死记。记住四个关键词——strip(清洗)、split/join(拆分拼接)、replace(替换)、f-string(格式化),用到时查文档即可,但 f-string 一定要练熟。