Files
30-seconds-of-code/snippets/camel.md
Havan Agrawal 3ee07828d2 Simplify camel snippet
Remove regex with complex look-behind matching, replace with simpler string functions
2019-08-23 00:06:40 -07:00

908 B

title, tags
title tags
camel string,regexp,intermediate

Converts a string to camelcase.

Break the string into words and combine them capitalizing the first letter of each word, using title.

(\s|_|-)+ matches one or more spaces (\s), underscores (_) or hyphens (-). re.sub replaces these matches with single spaces.
title capitalizes the first letter of each word. replace(" ", "") removes the spaces between words.

import re

def camel(s):
  pascal = re.sub(r"(\s|_|-)+", " ", s).title().replace(" ", "")
  return pascal[0].lower() + pascal[1:]
camel('some_database_field_name'); # 'someDatabaseFieldName'
camel('Some label that needs to be camelized'); # 'someLabelThatNeedsToBeCamelized'
camel('some-javascript-property'); # 'someJavascriptProperty'
camel('some-mixed_string with spaces_underscores-and-hyphens'); # 'someMixedStringWithSpacesUnderscoresAndHyphens'