Змагання
Днями я читав посібник зі стилів Java Google і наткнувся на їх алгоритм, щоб перетворити будь-яку довільну рядок у нотацію camelCase. У цьому виклику вам належить реалізувати цей алгоритм, оскільки ви не хочете робити все це в голові, коли ви пишете свої супер конкурентоспроможні подання Java на завдання з кодом-гольфу.
Примітка: я вніс деякі невеликі корективи в алгоритм. Вам потрібно скористатися вказаним нижче.
Алгоритм
Ви починаєте з довільного рядка введення та застосовуєте до нього такі операції:
- Видаліть усі апострофи
`'
- Розбийте результат на слова, розділивши на
- символи, які не буквено-цифрові та не цифри
[^a-zA-Z0-9]
- Великі літери, оточені з двох сторін малими літерами.
abcDefGhI jk
наприклад врожайністьabc Def Ghi jk
- символи, які не буквено-цифрові та не цифри
- Мале слово кожне слово.
- Пропишіть першими символами кожного, крім першого слова.
- З’єднайте всі слова разом.
Додаткові нотатки
- Вхід буде містити тільки друкований ASCII.
- Якщо цифра - перша літера в слові, залиште її такою, якою вона є, і не використовуйте щось інше в цьому слові.
- Вхід завжди матиме хоча б один символ.
Правила
- Дозволена функція або повна програма.
- Правила вводу / виводу за замовчуванням .
- Застосовуються стандартні лазівки .
- Це кодовий гольф , тому виграє найменший байт. Tiereaker є більш раннім поданням.
Тестові справи
"Головоломки програмування та код гольфу" -> "програмуванняPuzzlesCodeGolf" "XML запит HTTP" -> "xmlHttpRequest" "підтримує IPv6 на iOS?" -> "supportsIpv6OnIos" "SomeThing w1th, apo'strophe та 'punc] tuation" -> "someThingW1thApostrophesAndPuncTuation" "нічого особливого" -> "нічого особливого" "5pecial ca5e" -> "5pecialCa5e" "1337" -> "1337" "1337-spEAk" -> "1337Speak" "whatA безлад" -> "whataMess" "abcD" -> "abcd" "a" -> "a" "B" -> "b"
Щасливе кодування!
snake_case
&PascalCase
snake_case
через Python, звичайно. У FORTH також є FORTHCASE
і APL маєunreadable in any case
ApostropheS
у висновку.