Odstranění diakritiky
Abschlussbedingungen
1. OdstraneniDiakritiky
1.3. Výsledný kód
Následující zdrojový kód je kompletací předešlých kódů programu OdstraneniDiakritiky, který je umístěn v souboru Program.cs - viz Kód 1.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OdstraneniDiakritiky { class Program { static void Main(string[] args) { /* Deklarace: 'vstupniText' ... textový řetězec zadaný uživatelem, u něhož * má být odstraněna diakritika */ string vstupniText; Console.WriteLine("Odstranění diakritiky"); // Výzva pro zadání vstupního textu Console.Write("Zadejte vstupní text: "); // Načtení textového řetězce od uživatele vstupniText = Console.ReadLine(); // Výpis textu spolu s návratem metody, která obsahuje textový řetězec bez diakritiky Console.WriteLine("Výstupní text: " + OdstranitDiakritiku(vstupniText)); // Čekání na stisk klávesy -> ukončení programu Console.ReadKey(); } // Metoda s návratem textového řetězce bez diakritických znamének static string OdstranitDiakritiku(string s) { // Parametr: 's' ... vstupní řetězec, ve kterém má být odstraněna diakritika; /* Deklarace: 'bezDia' ... výstupní řetězec, tj. vstupní řetězec po odstranění * diakritiky; 'pocetZnaku' ... počet znaků ve vstupním řetězci */ string bezDia; int pocetZnaku; // Deklarace textového řetězce obsahujícího diakritiku včetně inicializace const string sDiakritikou = "ÁáČčĎďÉéĚěÍíŇňÓóŘřŠšŤťúůÚÝýŽž"; // Deklarace textového řetězce neobsahujícího diakritiku včetně inicializace const string bezDiakritiky = "AaCcDdEeEeIiNnooRrSsTtuuUYyZz"; // Vyprázdnění výstupního textového řetězce bezDia = ""; // Počet znaků ve vstupním řetězci pocetZnaku = s.Length; /* Pro každý znak ve vstupním textovém řetězci - 'i' ... pozice znaku ve vstupním textovém řetězci */ for (int i = 0; i < pocetZnaku; i++) { /* Pokud textový řetězec s diakritikou obsahuje znak na 'i'-té pozici ve vstupním * textovém řetězci */ if (sDiakritikou.Contains(s[i]) == true) { /* Pro každý znak v řetězci 'sDiakritikou' - 'j' ... pozice znaku * v řetězci s diakritikou */ for (int j = 0; j <= sDiakritikou.Length - 1; j++) { /* Pokud se znak ve vstupním řetězci na pozici 'i' nachází také v textovém * řetězci 'sDiakritikou' (na pozici 'j'), tj. obsahuje diakritiku ... */ if (s[i] == sDiakritikou[j]) { /* Připoj znak z řetězce 'bezDiakritiky' na stejné pozici 'j', na které * byl vyhledán v řetězci 'sDiakritikou' (prohození znaku s diakritikou * za znak bez diakritiky) */ bezDia += bezDiakritiky[j]; } } } else { // Přidej znak ze vstupního řetězce do výstupního řetězce bezDia += s[i]; } } // Přiřazení návratu metody return bezDia; } } }
Kód 1: Program OdstraneniDiakritiky - deklarace hlavní statické metody Main včetně deklarace další metody
Výstup programu
Na následujícím výstupu programu vidíme načtení vstupního textového řetězce od uživatele a jeho následný výpis po odstranění všech diakritických znamének - viz Výstup programu - Kód 1.

Výstup programu - Kód 1: Ukázka výpisu textového řetězce v hlavní metodě programu OdstraneniDiakritiky po odstranění diakritických znamének