Herausforderung :
Geben Sie eine Zeichenfolge an, die an bestimmten Positionen aufgeteilt ist, und schreiben Sie das erste Zeichen des angegebenen Wortes in Großbuchstaben. Aktivieren Sie das erste Zeichen des ersten Wortes genau dann, wenn es bereits aktiviert wurde
Eingabe:
Eine Zeichenfolge sund ein Zeichen c.
Ausgang:
Die Zeichenfolge bei jedem Auftreten von c durch das erste aktivierte Zeichen ersetzt
Beispiele:
STRING(s) CHARACTER(c) RESULT
Hello_world _ HelloWorld
me,no,like , meNoLike
you-got-it - youGotIt
Am^I^clear ^ AmIClear
go!full!caps ! goFullCaps
weird&but&tRue & weirdButTRue
ProbleM1fixed1no 1 ProbleMFixedNo
!prob!!lem!s!Olved!! ! ProbLemSOlved
Hinweis :
- Die angegebene Eingabe ist immer gültig. Das heißt: Die erste Zeichenfolge ist immer eine Zeichenfolge mit mindestens einer Instanz des zu ersetzenden Zeichens. Der zweite wird immer ein einzelnes Zeichen sein.
- Die Länge der Eingabezeichenfolge ist größer. 4.
Es gibt mindestens ein Vorkommen des Zeichens, bei dem geteilt werden soll.
Die Eingabe enthält garantiert nur Buchstaben und das Trennzeichen (Danke @Arnauld)
- Separator ist alles, was kein Alphabet ist (az / AZ) (vorgeschlagen von @Dennis)
Gewinnkriterien:
Dies ist Code-Golf, so dass der kürzeste Code in Bytes für jede Sprache gewinnt.
- Vielen Dank an @ JonathanAllan für den Hinweis auf zwei Fehler.
., so kann ich mir vorstellen, dass einige Funktionen zur Aufteilung von Strings damit zu kämpfen haben.
1). Überlegen Sie, wie Lösungen möglicherweise scheitern, und machen Sie einen Testfall für solche Situationen. Einige Beispiele: Buchstaben als Trennzeichen, wobei das Trennzeichen das letzte Zeichen ist, aufeinanderfolgende Trennzeichen usw. Es ist nicht erforderlich, viele Testfälle zu haben, die nicht verschiedene Dinge testen.