logo
09

字符串格式化

⏱️ 25分钟

字符串进阶:把“原始文本”变成“可处理数据”

你现在可能会困惑什么

“我会 printreplace 了,还要进阶什么?”

真实业务里的文本通常很脏:空格乱、分隔符乱、大小写乱。 进阶重点是“标准化输入”。

一句话定义

字符串进阶处理是用拆分、拼接、查找和统计,把混乱文本变成结构化信息。

生活类比

像快递分拣:先拆包(split)、归类(clean)、再重新打包(join)。

最小可运行例子

line = "python,sql,git"
skills = line.split(",")
print(skills)  # ['python', 'sql', 'git']
print("|".join(skills))  # python|sql|git

高频方法

text = "python python ai"
print(text.find("ai"))      # 14
print(text.count("python")) # 2
print(text.replace("ai", "AI"))

清洗流程示例

raw = "  USER@EXAMPLE.COM  "
clean = raw.strip().lower()
print(clean)  # user@example.com

课堂小测(5 分钟)

  1. a,b,c 变成 a|b|c
  2. 统计一句话里关键词出现次数。
  3. 清洗 3 个 email 并输出列表。

课堂小测参考答案与判分点

  • 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
  • 判分点 1(正确性):主流程结果正确,关键分支可执行。
  • 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
  • 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。

迁移任务(课后)

实现 normalize_tags(text)

  • 输入:" Python, AI ,data "
  • 输出:["python", "ai", "data"]

本节验收标准

你能独立做到:

  • split/join/find/count/replace 处理文本
  • 写出一条稳定的字符串清洗链路
  • 将原始文本转成结构化列表

常见报错与调试步骤(新手版)

  • 报错看不懂:先读最后一行错误类型(如 TypeErrorNameError),再回到对应代码行定位。
  • 不确定变量值:在关键位置临时 print(变量, type(变量)),先确认数据是否符合预期。
  • 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。

常见误区

  • 误区:find() 找不到会报错。

  • 正解:找不到返回 -1

  • 误区:输入直接拿来比对。

  • 正解:先 strip + lower 再比对。