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

4 Lösungen Lösungen öffentlich
#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ß
#3
vote_ok
von JKooP (18090 Punkte) - 03.07.2020 um 09:29 Uhr
NET Core 3.x

Quellcode ausblenden 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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben