Nesse Coding Golf, você deve converter uma convenção de codificação com TitleCase em lower_case_with_underscores. E vice versa!
Especificação
Mude a caixa da seguinte maneira:
- Se o caractere sublinhado for um delimitador, altere a caixa para maiúsculas e minúsculas sem delimitador.
- Se houver várias palavras sem delimitador, altere a caixa para minúscula e adicione um caractere sublinhado como delimitador.
- No caso de apenas uma palavra (ou um caractere): altere a caixa para maiúsculas e minúsculas se a palavra começar com minúsculas; altere a caixa para minúscula se a palavra começar com maiúscula.
Caracteres permitidos:
- A a Z
- A a Z
- sublinhado (
_
).
A entrada com palavras maiúsculas e minúsculas não é permitida. Exemplos de casos não permitidos:
Coding_Convention_Conversion
a_BC
Casos de exemplo
Input | Expected Output
===========================================================
CodingConventionConversion | coding_convention_conversion
coding_convention_conversion | CodingConventionConversion
abc | Abc
Abc | abc
ABC | a_b_c
a_b_c | ABC
a | A
A | a
Regras
- É permitido usar
ToUpper
,ToLower
eToTitleCase
funções. - É permitido o uso de expressões regulares.
- code-golf : o menor código em bytes vence!
ToTitleCase
função bem? Você não especificou, então eu presumo que está tudo bem.