Python で CamelCase を Snake_case に効率的に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-28 00:20:29
オリジナル
220 人が閲覧しました

How to efficiently convert CamelCase to snake_case in Python?

Python でのキャメルケースからスネークケースへの変換

キャメルケースからスネークケースへの変換は、Python プログラミングで頻繁に行われる変換です。この質問は、このタスクを実行する効率的な方法を見つけることに焦点を当てています。

提案された解決策

提供されたコードは、re モジュールを利用してこの変換を実現します。

インポート re

name = 'CamelCaseName'
name = re.sub(r'(?print(name) # Camel_case_name

このコードは、正規表現を使用して大文字の前にアンダースコアを挿入し、結果の文字列を小文字に変換します。結果は、目的のsnake_case表現になります。

代替アプローチ

パフォーマンスが懸念される場合は、事前に正規表現をコンパイルできます:

パターン= re.compile(r'(?name = pattern.sub('_', name). lower()

より高度なケースでは、二重置換パスを使用できます:

def Camel_to_snake(name):

name = re.sub('(.)([A-Z][a-z]+)', r'_', name)
return re.sub('([a-z0-9])([A-Z])', r'_', name).lower()
ログイン後にコピー

さらに、コードを拡張して処理することができます。複数のアンダースコア:

def to_snake_case(name):

name = re.sub('(.)([A-Z][a-z]+)', r'_', name)
name = re.sub('__([A-Z])', r'_', name)
name = re.sub('([a-z0-9])([A-Z])', r'_', name)
return name.lower()
ログイン後にコピー

Snake_case から PascalCase への変換

さらに、 Snake_case から PascalCase への逆変換が提供されています:

name = 'snake_case_name'
name = ''.join(word.title() for word in name.split('_'))
print(名前) # SnakeCaseName

以上がPython で CamelCase を Snake_case に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!