Biorąc pod uwagę niemiecki ciąg i oznaczenie sprawy (dolny / górny / tytuł), złóż ciąg do tej sprawy.
Dane techniczne
- Dane wejściowe będą się składać tylko z
a
-z
plusäöüß-,.;:!?'"
wielkimi i / lub małymi literami. - Przypadek docelowy można przyjąć jako dowolne trzy unikalne wartości (proszę określić, jakie są) spójnego typu; trzy znaki, trzy cyfry lub trzy wzorce bitowe. (Inne formaty są obecnie niedozwolone, aby zapobiec „outsourcingowi” odpowiedzi na specyfikację sprawy. Skomentuj, jeśli uważasz, że dodatkowy format powinien być dozwolony.)
- Titlecase oznacza wielkie litery wszystko oprócz liter następujących po literze (litery to
a
-z
plusäöüß
).
Gotchas
Kiedy
ß
musi być pisana wielkimi literami, musi byćẞ
. Niektóre wbudowane w biblioteki i wbudowane biblioteki nie robią tego.Kiedy
ß
trzeba mieć tytuł, musi się staćSs
. Niektóre wbudowane w biblioteki i wbudowane biblioteki nie robią tego.ss
mogą występować w tekście i nigdy nie powinny być konwertowane naß
lubẞ
.
Przykłady
Wielkie litery die Räder sagen "ßß ss" für dich, wegen des Öls!
toDIE RÄDER SAGEN "ẞẞ SS" FÜR DICH, WEGEN DES ÖLS!
Małe litery die Räder sagen "ßß ss" für dich, wegen des Öls!
to die räder sagen "ßß ss" für dich, wegen des öls!
Tytuł sprawy die Räder sagen "ßß ss" für dich, wegen des Öls!
toDie Räder Sagen "Ssß Ss" Für Dich, Wegen Des Öls!
Ss
? Ponadto w przykładowym danych wejściowych brakujess
SS
Ss
ss
. Czy możesz mi powiedzieć, dlaczego jest to niejasne?Odpowiedzi:
Japt ,
4240 bajtówZaoszczędzono 2 bajty dzięki @Oliver
Uff, to wymagało sporo wysiłku. Dane wejściowe to ciąg znaków do konwersji i pojedynczy znak:
u
wielkie litery,v
małe litery,m
tytuł.Przetestuj online!
źródło
}0
?Python 3 , 92 bajty
Wypróbuj online!
źródło
05AB1E , 23 bajty
Wykorzystuje 0 = niższy, 1 = górny, 2 = tytuł
Wypróbuj online!
źródło
Galaretka , 50 bajtów
Wypróbuj online!
Pełny program
Uff, dużo czasu zajęło golfowi ...
Argument 1: Ciąg znaków (może wymagać zmiany znaczenia)
Argument 2:
1
dla wielkich liter,2
dla tytułów,3
dla małych liter.źródło
Czysty ,
649279275274246 bajtówTak, to
12312294 bajty importu, co jest już dłuższe niż co drugą odpowiedź.Wypróbuj online!
Definiuje funkcję
@
, biorąc anInt
i aUString
, i zwracając aUString
.Dogodnie
UString
(domyślny sposób obsługi kodu Unicode przez Clean) jest tylko aliasem typu[Int]
- dla listyInt
zawierającej znaki kodowe Unicode znaków w ciągu.Niewygodnie ,
Text.Unicode.UChar
jest naprawdę długi i nie mogę,import StdEnv
ponieważ definicje sąStdChar
sprzeczne z definicjami wText.Unicode.UChar
(ponieważ nie są przeznaczone do wspólnego użytku).Te trzy wartości to 0, 1 i 2 dla wielkości górnej, dolnej i tytułu.
źródło