Files
30-seconds-of-code/snippets/camelize.md
2017-12-16 21:24:29 +08:00

686 B

Camelize

Camelize a string, cutting the string by multiple separators like hyphens, underscores and spaces.

/**
 * @param {str} string str to camelize
 * @return string Camelized text
 */
const camelize = str => str.replace(/^([A-Z])|[\s-_]+(\w)/g, 
  (match, p1, p2, offset) =>  p2 ? p2.toUpperCase() : p1.toLowerCase());
// camelize("some_database_field_name") -> 'someDatabaseFieldName'
// camelize("Some label that needs to be camelized") -> 'someLabelThatNeedsToBeCamelized'
// camelize("some-javascript-property") -> 'someJavascriptProperty'
// camelize("some-mixed_string with spaces_underscores-and-hyphens") -> 'someMixedStringWithSpacesUnderscoresAndHyphens'