首頁 >後端開發 >Python教學 >如何在Python中有效率地將CamelCase轉換為snake_case?

如何在Python中有效率地將CamelCase轉換為snake_case?

Susan Sarandon
Susan Sarandon原創
2024-10-28 00:20:29337瀏覽

How to efficiently convert CamelCase to snake_case in Python?

Python 中 CamelCase 到 Snake_case 的轉換

CamelCase 到 Snake_case 的轉換是 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值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的反向轉換:

此外,提供從snake_case到PascalCase的反向轉換:


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

以上是如何在Python中有效率地將CamelCase轉換為snake_case?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn