Created
September 1, 2020 16:25
-
-
Save feluelle/498022fad301e368f2a33d46992c58e0 to your computer and use it in GitHub Desktop.
A small script for transforming text to various widely used naming conventions like snake_case or camelCase.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def transform_string(string: str, separator: str, upper: bool) -> str: | |
def _words() -> list: | |
return string.split() | |
def _first_character(word: str) -> str: | |
return word[0].upper() if upper else word[0].lower() | |
return separator.join(_first_character(word[0]) + word[1:] for word in _words()) | |
def to_snake_case(string: str) -> str: | |
return transform_string(string, separator='_', upper=False) | |
def to_upper_camel_case(string: str) -> str: | |
return transform_string(string, separator='', upper=True) | |
def to_lower_camel_case(string: str) -> str: | |
new_string = to_upper_camel_case(string) | |
return new_string[0].lower() + new_string[1:] | |
def to_kebab_case(string: str) -> str: | |
return transform_string(string, separator='-', upper=False) | |
string = 'Hello World' | |
print('snake_case: ', to_snake_case(string)) | |
print('UpperCamelCase: ', to_upper_camel_case(string)) | |
print('lowerCamelCase: ', to_lower_camel_case(string)) | |
print('kebab-case: ', to_kebab_case(string)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment