[python] Inflectorする(単数形を複数形に変換したり..)
クラス名、メソッド名などに使われる、キャメル形式やアンダースコア形式の定義を相互変換したり、単数形の単語を複数形に変換したりできる便利なライブラリです。
自力でも実装できないことはないのですが、既にライブラリがあればそれを使ったほうが楽で間違いないです。
特に、単数形⇔複数形はいろいろパターンがあると思いますので助かります。
使用するにはとても簡単で、pipが使えれば
pip install Inflector
だけでインストール完了です。
使用するときは、
from inflector import Inflector
でインポートして、以下のように実行します。
(1) アンダースコアをキャメル形式に変えるとき
print(Inflector().camelize("test_code"))
→ TestCode
(2) キャメル形式をアンダースコアに変えるとき
print(Inflector().underscore("TestCode"))
→ test_code
(3) タイトル? 単語をスペースで区切る
print(Inflector().titleize("HappyBirthDay"))
→ Happy Birth Day
(4) 同じく。ただし先頭のみ大文字
print(Inflector().titleize("HappyBirthDay", 'first'))
→ Happy birth day
(5) titleizeと違いがよく分からない
print(Inflector().humanize("aaa_bbbb"))
→ Aaa Bbbb
(6) 単数形を複数形にする
print(Inflector().pluralize("parameter"))
→ parameters
(7) 複数形を単数形にする
print(Inflector().pluralize(“properties”))
※ご指摘いただきました。正しくは、
print(Inflector().singularize("properties"))
→ property
です。
ただし”properties”はなぜかpluralizeでも”property”になりました。
紹介した以外にもいろいろ機能があります。
自力で実装してテストする手間が省けて便利です。
お試しあれ
== ランキングに参加しています。ぜひクリックお願いします ==
[WPF] 意味不明エラー その原因は・・・ 「ItemsSource を使用する前に、Items コレクションが空である必要があります。」 (いまさら) Windows10 Anniversary Update(1607)にアップデートできた!!
単数形はsingularize