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

  1. Convert String Uppercase and Lowercase by oraculum 3 years, 10 months ago
  2. Template filter to convert timecodes into links by justin_h 5 years, 5 months ago
  3. Inline truncate by character number by esanchez 6 years, 7 months ago
  4. Django Template - obfuscate a javascript string by oriadam 2 weeks, 4 days ago
  5. Friendly ID by willhardy 6 years, 2 months ago

Comments

Please login first before commenting.