Files
30-seconds-of-code/snippets/camel.md
Gaddeti Rohit Babu f9d820201b modified regexp and documentation
I think there is no use of using space literal match (/s) in the pattern. So I removed it and updated the snippet and it's document accordingly. Please review it and let me know if I am wrong.
2019-10-18 15:16:19 +05:30

915 B

title, tags
title tags
camel string,regexp,intermediate

Converts a string to camelcase.

Identify one or more groups containing the pattern with - or _ using regexp r"(_|-)+" and replace the pattern with a " " (space literal) using re.sub method. Apply title() method on the obtained string to Capitalize the starting letter and lower the other letters of every word in the string. Finally, remove the spaces in the string using replace() method

import re

def camel(s):
  s = re.sub(r"(_|-)+", " ", s).title().replace(" ", "")
  return s[0].lower() + s[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'