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.   

Ukázka výpisu textového řetězce v hlavní metodě programu OdstraneniDiakritiky po odstranění diakritických znamének

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