sh_cpl/src/cpl/utils/string.py

38 lines
906 B
Python
Raw Normal View History

2021-03-10 22:11:05 +01:00
import re
class String:
2021-03-14 16:06:23 +01:00
"""
Useful functions for strings
"""
2021-03-10 22:11:05 +01:00
@staticmethod
def convert_to_snake_case(name: str) -> str:
2021-03-14 16:06:23 +01:00
"""
Converts string to snake case
:param name:
:return:
"""
2021-03-10 22:11:05 +01:00
pattern1 = re.compile(r'(.)([A-Z][a-z]+)')
pattern2 = re.compile(r'([a-z0-9])([A-Z])')
file_name = re.sub(pattern1, r'\1_\2', name)
return re.sub(pattern2, r'\1_\2', file_name).lower().replace('-', '_')
@staticmethod
def first_to_upper(string: str) -> str:
2021-03-14 16:06:23 +01:00
"""
Converts first char to upper
:param string:
:return:
"""
return f'{string[0].upper()}{string[1:]}'
@staticmethod
def first_to_lower(string: str) -> str:
2021-03-14 16:06:23 +01:00
"""
Converts first char to lower
:param string:
:return:
"""
return f'{string[0].lower()}{string[1:]}'