C# girilen metinde "." dan sonra ki harfi büyük yazdırma

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
29 Tem 2017
Mesajlar
88
Tepki puanı
5
Ödüller
10
8 HİZMET YILI
Beyler bi yardımcı olurmusunuz.
Textboxa girilen metinde noktadan (.) sonra ki kelimenin ilk harfi büyük yazdırmak istiyorum.
Substring kullanarak yaparmısınız rica etsem
 
#Ri
Coder
Katılım
17 Ocak 2016
Mesajlar
1,111
Çözümler
2
Tepki puanı
2,542
Ödüller
12
Yaş
9
10 HİZMET YILI
C#:
        static void BaşharfKuralınıDüzelt(string metin, out string çıktı)
        {
            var düzeltilen = new StringBuilder(); //string += char şeklinde kullanım sağlayamadığımız için stringbuilder oluşturup append methodunu kullanıcaz.
            for(var i = 0; i < metin.Length; i++) //girilen metinin uzunluğu kadar bir döngü oluşturduk ki; İstediğimiz harfleri çekebilelim ve kontrollerimizi yapabilelim.
            {
                düzeltilen.Append(metin[i]); //Her zaman alınacak ilk karakteri direk çıktı metinine ekliyoruz.
                if (metin[i] == '.') //Eğer girilen metindeki şuanki dönen karakter nokta ise
                {
                    if ((i + 2 < metin.Length) && metin[i + 1] == ' ' && Char.IsLetter(metin[i+2])) // noktadan sonraki 2 karakter mevcutsa, noktadan sonra boşluk varsa ve boşluktan sonrada bir harf varsa.
                    {
                        düzeltilen.Append(metin[i+1]); //boşluğu çıktı metinine ekleriz.
                        var c = Char.ToUpper(metin[i + 2]); //boşluktan sonraki harfi büyütürüz.
                        düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
                        i += 2; //döngüyü iki karakterlik ilerletiriz.
                        continue; //döngüyü direk devam ettiriririz.
                    } else if(i+1 < metin.Length && Char.IsLetter(metin[i+1])) // noktadan sonraki karakter mevcutsa ve noktadan sonrada bir harf varsa.
                    {
                        var c = Char.ToUpper(metin[i + 1]); //noktadan sonra gelen harfi büyütürüz.
                        düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
                        i += 1; //döngüyü 1 karakter ilerletiriz.
                        continue; //döngüyü direk devam ettiriririz.
                    }
                }
            }
            çıktı = düzeltilen.ToString(); //son olarak çıktı değişkenimizi düzeltilen metinimizle eşitliyoruz.
        }

        static void TestÇağrısı()
        {
            string XMBuffer;
            BaşharfKuralınıDüzelt("Cümlelerdeki ilk kelimenin baş harfi büyük olmalıdır. aksi yazım hatasıdır.mesela boşluksuz örneği budur. başında boşluk olsada algoritma güzelcene çalışır.", out XMBuffer);
            Console.WriteLine(XMBuffer);
            Console.ReadLine();
        }


Herhalde ödev gibi bişey kardeşim, umarım işine yarar ve üşenmeden oturup yazdığım kodu okuyup sistemi anlamaya çalışırsın.
 
❤️
Seçkin Üye
Katılım
1 Eki 2018
Mesajlar
330
Çözümler
1
Tepki puanı
112
Ödüller
7
Yaş
31
7 HİZMET YILI
C#:
        static void BaşharfKuralınıDüzelt(string metin, out string çıktı)
        {
            var düzeltilen = new StringBuilder(); //string += char şeklinde kullanım sağlayamadığımız için stringbuilder oluşturup append methodunu kullanıcaz.
            for(var i = 0; i < metin.Length; i++) //girilen metinin uzunluğu kadar bir döngü oluşturduk ki; İstediğimiz harfleri çekebilelim ve kontrollerimizi yapabilelim.
            {
                düzeltilen.Append(metin[i]); //Her zaman alınacak ilk karakteri direk çıktı metinine ekliyoruz.
                if (metin[i] == '.') //Eğer girilen metindeki şuanki dönen karakter nokta ise
                {
                    if ((i + 2 < metin.Length) && metin[i + 1] == ' ' && Char.IsLetter(metin[i+2])) // noktadan sonraki 2 karakter mevcutsa, noktadan sonra boşluk varsa ve boşluktan sonrada bir harf varsa.
                    {
                        düzeltilen.Append(metin[i+1]); //boşluğu çıktı metinine ekleriz.
                        var c = Char.ToUpper(metin[i + 2]); //boşluktan sonraki harfi büyütürüz.
                        düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
                        i += 2; //döngüyü iki karakterlik ilerletiriz.
                        continue; //döngüyü direk devam ettiriririz.
                    } else if(i+1 < metin.Length && Char.IsLetter(metin[i+1])) // noktadan sonraki karakter mevcutsa ve noktadan sonrada bir harf varsa.
                    {
                        var c = Char.ToUpper(metin[i + 1]); //noktadan sonra gelen harfi büyütürüz.
                        düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
                        i += 1; //döngüyü 1 karakter ilerletiriz.
                        continue; //döngüyü direk devam ettiriririz.
                    }
                }
            }
            çıktı = düzeltilen.ToString(); //son olarak çıktı değişkenimizi düzeltilen metinimizle eşitliyoruz.
        }

        static void TestÇağrısı()
        {
            string XMBuffer;
            BaşharfKuralınıDüzelt("Cümlelerdeki ilk kelimenin baş harfi büyük olmalıdır. aksi yazım hatasıdır.mesela boşluksuz örneği budur. başında boşluk olsada algoritma güzelcene çalışır.", out XMBuffer);
            Console.WriteLine(XMBuffer);
            Console.ReadLine();
        }


Herhalde ödev gibi bişey kardeşim, umarım işine yarar ve üşenmeden oturup yazdığım kodu okuyup sistemi anlamaya çalışırsın.
Sen kralsın be üşenmeden tek tek yazmış :eek:
 
Onaylı Üye
Katılım
29 Tem 2017
Mesajlar
88
Tepki puanı
5
Ödüller
10
8 HİZMET YILI
C#:
        static void BaşharfKuralınıDüzelt(string metin, out string çıktı)
        {
            var düzeltilen = new StringBuilder(); //string += char şeklinde kullanım sağlayamadığımız için stringbuilder oluşturup append methodunu kullanıcaz.
            for(var i = 0; i < metin.Length; i++) //girilen metinin uzunluğu kadar bir döngü oluşturduk ki; İstediğimiz harfleri çekebilelim ve kontrollerimizi yapabilelim.
            {
                düzeltilen.Append(metin[i]); //Her zaman alınacak ilk karakteri direk çıktı metinine ekliyoruz.
                if (metin[i] == '.') //Eğer girilen metindeki şuanki dönen karakter nokta ise
                {
                    if ((i + 2 < metin.Length) && metin[i + 1] == ' ' && Char.IsLetter(metin[i+2])) // noktadan sonraki 2 karakter mevcutsa, noktadan sonra boşluk varsa ve boşluktan sonrada bir harf varsa.
                    {
                        düzeltilen.Append(metin[i+1]); //boşluğu çıktı metinine ekleriz.
                        var c = Char.ToUpper(metin[i + 2]); //boşluktan sonraki harfi büyütürüz.
                        düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
                        i += 2; //döngüyü iki karakterlik ilerletiriz.
                        continue; //döngüyü direk devam ettiriririz.
                    } else if(i+1 < metin.Length && Char.IsLetter(metin[i+1])) // noktadan sonraki karakter mevcutsa ve noktadan sonrada bir harf varsa.
                    {
                        var c = Char.ToUpper(metin[i + 1]); //noktadan sonra gelen harfi büyütürüz.
                        düzeltilen.Append(c); //büyütülen harfi çıktı metinine ekleriz.
                        i += 1; //döngüyü 1 karakter ilerletiriz.
                        continue; //döngüyü direk devam ettiriririz.
                    }
                }
            }
            çıktı = düzeltilen.ToString(); //son olarak çıktı değişkenimizi düzeltilen metinimizle eşitliyoruz.
        }

        static void TestÇağrısı()
        {
            string XMBuffer;
            BaşharfKuralınıDüzelt("Cümlelerdeki ilk kelimenin baş harfi büyük olmalıdır. aksi yazım hatasıdır.mesela boşluksuz örneği budur. başında boşluk olsada algoritma güzelcene çalışır.", out XMBuffer);
            Console.WriteLine(XMBuffer);
            Console.ReadLine();
        }


Herhalde ödev gibi bişey kardeşim, umarım işine yarar ve üşenmeden oturup yazdığım kodu okuyup sistemi anlamaya çalışırsın.
Teşekkür ederim emeğine sağlık
 
Uzman Üye
Katılım
25 Kas 2018
Mesajlar
216
Tepki puanı
41
Ödüller
7
7 HİZMET YILI
Merhaba konuya cevap verilmiş ama ben biraz daha kısa bir yöntem ile yapmıştım daha önceden belki işine yarayan olur.
Bağlantıları görmek için lütfen Giriş Yap
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst