Source code for betty.string

"""
Provide string handling utilities.
"""
import re

_CAMEL_CASE_PATTERN = re.compile(r'(?<!^)(?=[A-Z])')


[docs] def camel_case_to_snake_case(string: str) -> str: """ Convert camel case to snake case. """ return _CAMEL_CASE_PATTERN.sub('_', string).lower()
[docs] def camel_case_to_kebab_case(string: str) -> str: """ Convert camel case to kebab case. """ return _CAMEL_CASE_PATTERN.sub('-', string).lower()
[docs] def upper_camel_case_to_lower_camel_case(string: str) -> str: """ Convert upper camel case to lower camel case. """ return string[0].lower() + string[1:]