Elegant Python function to convert CamelCase to snake_case?
Camel case to snake case import re name=”CamelCaseName” name = re.sub(r'(?<!^)(?=[A-Z])’, ‘_’, name).lower() print(name) # camel_case_name If you do this many times and the above is slow, compile the regex beforehand: pattern = re.compile(r'(?<!^)(?=[A-Z])’) name = pattern.sub(‘_’, name).lower() To handle more advanced cases specially (this is not reversible anymore): def camel_to_snake(name): name = re.sub(‘(.)([A-Z][a-z]+)’, r’\1_\2′, … Read more