Python 字符串标题化:快速可靠的 Title Case 转换
用这招快速将 Python 字符串转标题大小写。引用维基百科:
标题大小写广泛用于线上线下印刷。本站所有文章标题均用 Title Case。细观大多数网站、报纸、杂志皆采用此式。
Python 内置 title() 一键转换:
>>> title = "string in title case" >>> title.title() 'String In Title Case'
但缺陷明显:
- 含撇号时错误:
They're变They'Re - 小词(
in、no等)本不应大写却被大写
更健壮的正则版本:
import re
def titlecase(s):
return re.sub(r"[A-Za-z]{3,}(('[A-Za-z]+)?)", lambda mo: mo.group(0).capitalize(), s)
titlecase("It's great, and no small words")
# "It's Great, And no Small Words"
正则逻辑:
• 单独匹配每个单词(含/不含撇号)
• 忽略长度 <3 的词(符合标题大小写惯例)
可自行改造:如强制单字母 i 大写等。
Python
- 树莓派与 Python 构建远程温度传感器:分步实战指南
- 精通Python运算符:全面指南
- Python strip() 方法完全指南:去除首尾空白与自定义字符实战
- Python str.count() 完全指南:统计字符与子串出现次数实战
- Python format() 字符串格式化完全指南:占位符、格式化规范、类与字典应用
- Python len() 函数实战指南:测量字符串、列表、元组、字典等对象长度
- Python 字符串 find() 方法完全指南:语法、参数、替代方案与计数技巧
- 精通 Python enumerate():为列表、元组、字符串、字典带索引循环
- Python 计算平均值:从循环到 NumPy 的四种实战方法
- Python 优雅交换两变量:无需临时变量的一行代码
- Java 中 char 与 String 相互转换:实用示例与最佳实践
- Java 递归反转字符串:原理、代码实现与性能分析