Dada uma string alemã e uma indicação de maiúsculas e minúsculas (inferior / superior / título), dobre a string nesse caso.
Especificações
- A entrada consistirá apenas de
a
-z
maisäöüß-,.;:!?'"
em maiúsculas e / ou minúsculas. - O caso de destino pode ser considerado como três valores únicos (especifique o que são) de um tipo consistente; três caracteres ou três números ou padrões de três bits. (Atualmente, outros formatos não estão autorizados a impedir a "terceirização" da resposta à especificação do caso. Comente se você acha que um formato adicional deve ser permitido.)
- Titlecase significa tudo em maiúsculas, exceto as letras que seguem uma letra (as letras são
a
-z
maisäöüß
).
Pegadinhas
Quando
ß
precisa estar em maiúsculas, deve se tornarẞ
. Algumas embutidas e bibliotecas dobráveis em maiúsculas não fazem isso.Quando
ß
precisa ser um titlecase, ele deve se tornarSs
. Algumas embutidas e bibliotecas dobráveis em maiúsculas não fazem isso.ss
pode ocorrer no texto e nunca deve ser convertido paraß
ouẞ
.
Exemplos
Maiúsculas die Räder sagen "ßß ss" für dich, wegen des Öls!
éDIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN DES ÖLS!
Minúsculas die Räder sagen "ßß ss" für dich, wegen des Öls!
é die räder sagen "ßß ss" für dich, wegen des öls!
O caso do título die Räder sagen "ßß ss" für dich, wegen des Öls!
éDie Räder Sagen "Ssß Ss" Für Dich, Wegen Des Öls!
Ss
? Além disso, a entrada de exemplo está faltando ass
SS
Ss
ss
. Você pode me dizer por que isso não está claro?Respostas:
Japt ,
4240 bytesGuardado 2 bytes graças a @Oliver
Ufa, isso exigiu bastante esforço. Entrada é a sequência a ser convertida e um único caractere:
u
para maiúsculas,v
minúsculas em
maiúsculas.Teste online!
fonte
}0
?Python 3 , 92 bytes
Experimente online!
fonte
05AB1E , 23 bytes
Usa 0 = inferior, 1 = superior, 2 = título
Experimente online!
fonte
Geléia , 50 bytes
Experimente online!
Programa completo.
Ufa, isso levou muito tempo para jogar golfe ...
Argumento 1: String (pode precisar ser escapado)
Argumento 2:
1
para maiúsculas,2
para maiúsculas e3
minúsculas.fonte
Limpos ,
649279275274246 bytesSim, são
12312294 bytes de importações, que já são mais longos do que qualquer outra resposta.Experimente online!
Define a função
@
, obtendo umInt
e aUString
, e retornando aUString
.Convenientemente,
UString
(a maneira padrão do Clean de lidar com Unicode), é apenas um alias de tipo para[Int]
- que é uma lista deInt
pontos de código unicode contendo os caracteres na string.Inconvenientemente ,
Text.Unicode.UChar
é realmente longo, e não posso,import StdEnv
porque as definições estão emStdChar
conflito com as definições emText.Unicode.UChar
(pois elas não se destinam ao uso conjunto).Os três valores são 0, 1 e 2 para maiúsculas, minúsculas e título.
fonte