キャメルケースからスネークケースへの変換は、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 への逆変換が提供されています:
name = 'snake_case_name'
name = ''.join(word.title() for word in name.split('_'))
print(名前) # SnakeCaseName
以上がPython で CamelCase を Snake_case に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。