Соревнование
На днях я читал Руководство по стилю Java от Google и наткнулся на их алгоритм преобразования любой произвольной строки в нотацию camelCase. В этой задаче вы должны реализовать этот алгоритм, так как вы не хотите делать все это в своей голове, когда вы пишете свои суперконкурентные представления Java для задач кода-гольфа.
Примечание: я внес небольшие изменения в алгоритм. Вам нужно использовать тот, который указан ниже.
Алгоритм
Вы начинаете с произвольной входной строки и применяете к ней следующие операции:
- Удалить все апострофы
`'
- Разделите результат на слова, разделив на
- символы, которые не являются буквенно-цифровыми и не являются цифрами
[^a-zA-Z0-9]
- Прописные буквы, которые с обеих сторон окружены строчными буквами.
abcDefGhI jk
например урожайностьabc Def Ghi jk
- символы, которые не являются буквенно-цифровыми и не являются цифрами
- Строчные каждое слово
- Прописные буквы первого символа каждого, кроме первого слова.
- Объедините все слова вместе.
Дополнительные замечания
- Ввод будет содержать только печатный ASCII.
- Если цифра является первой буквой в слове, оставьте ее как есть и не вводите в это слово что-то еще.
- На входе всегда будет хотя бы один символ.
правила
- Функция или полная программа разрешены.
- Правила по умолчанию для ввода / вывода.
- Применяются стандартные лазейки .
- Это код-гольф , поэтому выигрывает меньшее количество байт. Tiebreaker является более ранним представлением.
Контрольные примеры
"Программирование Пазлов и Код Гольф" -> "ПрограммированиеPuzzlesCodeGolf" «HTTP HTTP запрос» -> «xmlHttpRequest» "поддерживает IPv6 на iOS?" -> "SupportIpv6OnIos" «SomeThing w1th, apo'strophe's и 'punc] tuation» -> «someThingW1thApostrophesAndPuncTuation» "ничего особенного" -> "ничего особенного" "5pecial ca5e" -> "5pecialCa5e" "1337" -> "1337" "1337-spEAk" -> "1337Speak" "WhatA беспорядок" -> "whataMess" "abcD" -> "abcd" "а" -> "а" "B" -> "B"
Удачного кодирования!
snake_case
&PascalCase
snake_case
из-за Python, конечно. FORTH также имеет FORTHCASE
и APL имеетunreadable in any case
ApostropheS
на выходе.