En ese Golf de codificación, debe convertir una convención de codificación con TitleCase a lower_case_with_underscores. ¡Y viceversa!
Especificación
Cambie la carcasa de la siguiente manera:
- Si el carácter de subrayado es un delimitador, cambie la carcasa a Título de caso sin ninguno de los delimitadores.
- Si hay varias palabras sin delimitador, cambie la carcasa a minúsculas y agregue un carácter de subrayado como delimitador.
- En el caso de una sola palabra (o un carácter): cambie la carcasa a Título de caso si la palabra comienza con minúscula; cambie la carcasa a minúscula si la palabra comienza con mayúscula.
Caracteres permitidos:
- De la A a la Z
- de la A a la Z
- subrayado (
_).
La entrada con palabras mixtas en mayúsculas no está permitida. Ejemplos de casos no permitidos:
Coding_Convention_Conversiona_BC
Casos de ejemplo
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
Reglas
- Está permitido usar
ToUpper,ToLoweryToTitleCasefunciones. - Se permite el uso de expresiones regulares.
- code-golf : ¡el código más corto en bytes gana!
ToTitleCasefunción? No especificaste, así que supongo que está bien.