La sfida
L' altro giorno stavo leggendo la Guida di stile Java di Google e mi sono imbattuto nel loro algoritmo per convertire qualsiasi stringa arbitraria in notazione camelCase. In questa sfida devi implementare questo algoritmo poiché non vuoi fare tutto questo nella tua testa quando scrivi le tue presentazioni Java super competitive alle sfide del code-golf.
Nota: ho apportato alcune piccole modifiche all'algoritmo. È necessario utilizzare quello specificato di seguito.
L'algoritmo
Si inizia con una stringa di input arbitraria e si applicano le seguenti operazioni:
- Rimuovi tutti gli apostrofi
`'
- Dividi il risultato in parole suddividendolo in
- caratteri non alfanumerici e non una cifra
[^a-zA-Z0-9]
- Lettere maiuscole che sono circondate da lettere minuscole su entrambi i lati.
abcDefGhI jk
per esempio reseabc Def Ghi jk
- caratteri non alfanumerici e non una cifra
- Minuscole ogni parola.
- Maiuscolo il primo carattere di ogni tranne la prima parola.
- Unisci di nuovo tutte le parole.
Note aggiuntive
- L'input conterrà solo ASCII stampabile.
- Se una cifra è la prima lettera di una parola, lasciala così com'è e non capalizzare qualcos'altro in questa parola.
- L'input avrà sempre almeno un carattere.
Regole
- Funzione o programma completo consentiti.
- Regole predefinite per input / output.
- Scappatoie standard applicano .
- Questo è code-golf , quindi vince il conteggio dei byte più basso. Tiebreaker è una presentazione precedente.
Casi test
"Programmazione di puzzle e codice golf" -> "ProgrammingPuzzlesCodeGolf" "Richiesta HTTP XML" -> "xmlHttpRequest" "supporta IPv6 su iOS?" -> "supportsIpv6OnIos" "SomeThing w1th, apo'strophe's 'e punc] tuation" -> "someThingW1thApostrophesAndPuncTuation" "niente di speciale" -> "niente speciale" "5pecial ca5e" -> "5pecialCa5e" "1337" -> "1337" "1337-spEAk" -> "1337Speak" "whatA pasticcio" -> "whataMess" "abcD" -> "abcd" "a" -> "a" "B" -> "b"
Buona programmazione!
snake_case
&PascalCase
snake_case
causa di Python, ovviamente. FORTH ha anche FORTHCASE
e APL haunreadable in any case
ApostropheS
nell'output.