Login

Convert CamelCase to lowercase_with_underscores

Author:
jdriscoll
Posted:
February 5, 2008
Language:
Python
Version:
.96
Tags:
utilities formatting one-liners
Score:
0 (after 0 ratings)

Just a simple regex function to convert a camel case string ("ClassName") to a lower case string with underscores ("class_name"). Came across a need for this when I was trying to add properties to a model at runtime using object.__class__.__name__. This is a modification of the function "get_verbose_name" found in django.db.models.options.

1
camelcase_to_underscore = lambda str: re.sub('(((?<=[a-z])[A-Z])|([A-Z](?![A-Z]|$)))', '_\\1', str).lower().strip('_')

More like this

Comments

Please login first before commenting.