C# :: Aufgabe #295 :: Lösung #3
4 Lösungen

#295
Namen in Initialen umwandeln
Anfänger - C#
von JKooP
- 29.03.2020 um 15:07 Uhr
Schreibe ein Programm, mit dem es möglich ist, einen beliebig langen Namen (Vorname(n), Nachname(n), Namenszusätze) als Initialen darzustellen.
Ebenfalls sollen durch Bindestrich getrennte Namen einbezogen werden.
Optional soll die Ausgabe sowohl mit Bindestrich als auch in Großbuchstaben erfolgen.
Beispiel:
Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg
--> KTMNJJPFJSBFvuzG
Optional:
--> K-TMNJJPFJSB-FvuzG
--> KTMNJJPFJSBFVUZG oder K-TMNJJPFJSB-FVUZG
Viel Spaß
Ebenfalls sollen durch Bindestrich getrennte Namen einbezogen werden.
Optional soll die Ausgabe sowohl mit Bindestrich als auch in Großbuchstaben erfolgen.
Beispiel:
Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg
--> KTMNJJPFJSBFvuzG
Optional:
--> K-TMNJJPFJSB-FvuzG
--> KTMNJJPFJSBFVUZG oder K-TMNJJPFJSB-FVUZG
Viel Spaß
#3

von JKooP (18090 Punkte)
- 03.07.2020 um 09:29 Uhr
NET Core 3.x
C#-Code

using System; using System.Text.RegularExpressions; namespace CS_Aufgabe_295_Initialen { class Program { static void Main(string[] args) { const string Name = "Karl-Theodor Maria Nikolaus Johann Jacob Philipp Franz Joseph Sylvester Buhl-Freiherr von und zu Guttenberg"; Console.WriteLine(GetInitials(Name, true, true)); } static string GetInitials(string name, bool toupper = false, bool hyphen = false) { var pat = @"[A-Z]|\b[a-z]{1}"; var patH = @"[A-Z\-]|\b[a-z]{1}"; var s = string.Join("", new Regex(hyphen ? patH : pat).Matches(name)); if (toupper) s = s.ToUpper(); return s; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1