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的反向轉換:
name = 'snake_case_name'
name = ''.join(word.title() for word in name.split('_'))
print(name) # SnakeCaseName
以上是如何在Python中有效率地將CamelCase轉換為snake_case?的詳細內容。更多資訊請關注PHP中文網其他相關文章!