Étant donné une chaîne allemande et une indication d'un cas (bas / haut / titre), pliez la chaîne à ce cas.
Caractéristiques
- L'entrée consistera uniquement en
a
-z
plusäöüß-,.;:!?'"
en majuscules et / ou en minuscules. - Le cas cible peut être considéré comme trois valeurs uniques (veuillez préciser quelles sont) d'un type cohérent; soit trois caractères, soit trois chiffres, soit des motifs à trois bits. (Les autres formats ne sont actuellement pas autorisés pour empêcher la «sous-traitance» de la réponse à la spécification de cas. Commentez si vous pensez qu'un format supplémentaire devrait être autorisé.)
- Titlecase signifie tout en majuscules, sauf les lettres qui suivent une lettre (les lettres sont
a
-z
plusäöüß
).
Gotchas
Quand
ß
doit être en majuscule, il doit le devenirẞ
. Certaines bibliothèques et bibliothèques intégrées de pliage de cas ne le font pas.Lorsque
ß
doit être titlecase, il doit devenirSs
. Certaines bibliothèques et bibliothèques intégrées de pliage de cas ne le font pas.ss
peut apparaître dans le texte et ne doit jamais être converti enß
ouẞ
.
Exemples
Les majuscules die Räder sagen "ßß ss" für dich, wegen des Öls!
sontDIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN DES ÖLS!
Les minuscules die Räder sagen "ßß ss" für dich, wegen des Öls!
sont die räder sagen "ßß ss" für dich, wegen des öls!
La casse du titre die Räder sagen "ßß ss" für dich, wegen des Öls!
estDie Räder Sagen "Ssß Ss" Für Dich, Wegen Des Öls!
Ss
? En outre, il manque un exemple d'entréess
SS
Ss
ss
. Pouvez-vous me dire pourquoi cela n'est pas clair?Réponses:
Japt ,
4240 octetsEnregistré 2 octets grâce à @Oliver
Ouf, cela a demandé pas mal d'efforts. L'entrée est la chaîne à convertir et un seul caractère:
u
pour les majuscules,v
pour les minuscules,m
pour la casse du titre.Testez-le en ligne!
la source
}0
?Python 3 , 92 octets
Essayez-le en ligne!
la source
05AB1E , 23 octets
Utilise 0 = inférieur, 1 = supérieur, 2 = titre
Essayez-le en ligne!
la source
Gelée , 50 octets
Essayez-le en ligne!
Programme complet.
Ouf, ça a pris beaucoup de temps au golf ...
Argument 1: chaîne (il peut être nécessaire de l'échapper)
Argument 2:
1
pour les majuscules,2
pour la casse du titre,3
pour les minuscules.la source
Propre ,
649279275274246 octetsOui, c'est
12312294 octets d'importations, ce qui est déjà plus long que toutes les autres réponses.Essayez-le en ligne!
Définit la fonction
@
, en prenant unInt
et unUString
et en retournant unUString
.De manière pratique,
UString
(la méthode par défaut de Clean pour gérer Unicode), est juste un alias de type pour[Int]
- qui est une listeInt
contenant les points de code Unicode des caractères de la chaîne.Inconvénient ,
Text.Unicode.UChar
c'est vraiment long, et je ne peux pasimport StdEnv
parce que les définitions sont enStdChar
conflit avec les définitions deText.Unicode.UChar
(car elles ne sont pas destinées à être utilisées ensemble).Les trois valeurs sont 0, 1 et 2 pour les majuscules, les minuscules et les majuscules.
la source