C# METİN İÇİNDE ARAMA

C# ile string işlemleri. Metin içinde arama yapmak. String.Compare, IndexOf ve LastIndexOf fonksiyonlarının kullanımı.


C# ile program yazımında bazen bir metin içerisinde başka bir metin, kelime, uzantı aramak zorunda kalabiliriz. C# programlama dili bunun için çözümler sunmuştur.

String.Compare Fonksiyonu

Bu çözümlerden birincisi string.compare fonksiyonudur. Bu fonksiyon iki değer alır.Birinci değeri aranacak olan ifade, ikinci değer ise ana metindir.

Bu fonksiyonun kullanımı genel olarak aşağıdaki gibidir.

int sonuç = String.Compare(aranandeger, anametin);

Eğer aranan değer bulunursa sonuç =- 1 olur.

Şayet aranan değer bulunamazsa sonuç = +1 olur.

İki değer birbirine eşit ise sonuç = 0 olur.

Yalnız bu fonksiyon aramaya 1. Karakterden itibaren başlamaktadır. “Yani sanatsal tasarım yazılım” ifadesi içerisinde ‘sal’ karakter grubunu aratırsak bulur fakat tas karakter grubunu bulamaz. ‘yaz’ kelimesini bulamazken, ‘lım’ karakter grubunubulur.

Aşağıda örnek kullanımı görülüyor.

    private void button1_Click(object sender, EventArgs e)
        {
            string tekst1 = "";
            string tekst2 = "";
            
            int sonuc;
            tekst1 = textBox1.Text;
            tekst2 = textBox2.Text;
            sonuc = String.Compare(tekst2, tekst1);
            if(sonuc==-1)
            {
                MessageBox.Show(tekst2 + " Değeri var");
            }
            if(sonuc==1)
            {
                MessageBox.Show(tekst2 + " Değeri Yok");
            }
            if(sonuc==0)
            {
                MessageBox.Show("İki değer aynı");
            }
        }


IndexOf Fonksiyonu

İkinci fonksiyon; “IndexOf” fonksiyonudur. Bu fonksiyon daha kullanışlıdır.

Bu fonksiyon üç değer alır. Birinci değer aramaya kaçıncı karakterden itibaren başlanacağı yazılır. Tüm metinde aranacaksa buraya 0 yazılır. İkinci parametresi aranan değeri içerir, hangi değeri arayacaksak onu yazarız. Üçüncü parametresi kaçıncı karaktere kadar arama yapılacağını soruyor, eğer metinin sonuna kadar tüm kelimelerde arasın istiyorsak buraya da “metin.Length” gibi bir değer yazarız.

Bu fonksiyonun prototip kullanımı aşağıdaki gibidir.

string metin =”Bu metinde arama yapılır”;

string ara = “arama”;

iİnt sonuç = metin.IndexOf(0, ara,metin.length);

Örnek Kullanımı

      private void button2_Click(object sender, EventArgs e)
        {
            string metin = textBox1.Text;
            string ara = textBox2.Text;
            int sonuc;
            sonuc = metin.IndexOf(ara,0, metin.Length-1);
            if(sonuc==-1)
            {
                MessageBox.Show("Aradığınız Değer Bulunamadı");
            }
            else
            {
                MessageBox.Show("Aradığınız değer " + sonuc.ToString() + ". karakterden itibaren var");
            }
        }


LastIndexOf Fonksiyonu

Üçüncü bir yöntem LastIndexOf metodudur. Bu metot IndexOf metoduna benzer, yalnız IndexOf en baştaki karakterden itibaren arama yaparken, LastIndexOf metodu sondaki karakterden itibaren aramaya başlar.

Örnek Kullanımı

       private void button3_Click(object sender, EventArgs e)
        {
            string metin = textBox1.Text;
            string ara = textBox2.Text;
            int sonuc;
            sonuc = metin.LastIndexOf(ara, metin.Length-1, metin.Length);
            if (sonuc == -1)
            {
                MessageBox.Show("Aradığınız Değer Bulunamadı");
            }
            else
            {
                MessageBox.Show("Aradığınız değer " + sonuc.ToString() + ". karakterden itibaren var");
            }
        }




SANATSAL BİLGİ

31/10/2016

  • YORUM YAZ
  • ADI SOYADI(veya nick)
  • YORUM


COPYRIGHT© HER HAKKI SAKLIDIR
Sitede Yer Alan Bilgi Belge Ve Materyallerin İzinsiz olarak Kopyalanması ve Alıntılanması Yasaktır

SANATSAL BILGI