Pythonでタイトルケース変換:高速・確実な実装
このトリックで、Python文字列を素早くタイトルケースに変換できます。Wikipedia記事から引用すると:
タイトルケースはオフライン・オンライン印刷の両方でよく使われます。このサイト自体、すべての記事でタイトルケースを使用しています。よく見ると、ほとんどのWebサイト、新聞、雑誌が実際にタイトルケースを使っています。
Pythonでタイトルケース文字列を素早く作るには、組み込みのtitle()メソッドを使います:
>>> title = "string in title case"
>>> title.title()
'String In Title Case'
残念ながら、これはうまく機能しません:
- アポストロフィを含むと:
They'Re Not Workingのようになる 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
- Raspberry PiとPythonでリモート温度センサーを構築 – ステップバイステップガイド
- Python 演算子完全マスター: 包括的ガイド
- Python strip()メソッド完全ガイド:実践例付き
- Python str.count()マスター:文字と部分文字列のカウント実例集
- Python format()文字列を明確な例でマスター
- Python len()関数:オブジェクトの長さを測る実践ガイド
- Python String.find()メソッド完全ガイド:構文、例、代替手法
- Python enumerate()をマスター:リスト、タプル、文字列、辞書でインデックス付きループ
- Pythonで平均を計算する:実践ガイド
- JavaでcharをStringに変換する方法:実践例とベストプラクティス
- Javaで再帰を使って文字列を反転させる方法