C# ile String Sınıfı (Contains,IsNullOrEmpty,Insert,Replace,Remove, Split,Substring, ToLower,ToUpper,Trim) Kullanımı

Contains methodu metin içerisinde baştan başlayarak sona kadar index'e giderek Küçük ve Büyük harf duyarlığı ile arama yaparak geriye true veya false değer döndürür.

Örnek1;Aşağıdaki gibi form tasarlayarak açıklama metni içerisinde textbox girdiğimiz değerin var olup olmadığını sorgulayalım.

Nesnelerimiz;
txtAra                   : textbox
txtAciklama        : textbox
btnAra                 : button

private void btnKontrol_Click(object sender, EventArgs e)
        {
            
            bool _Durum = txtAciklama.Text.Contains(txtAra.Text);

            if (_Durum == true) { MessageBox.Show(String.Format("Aranan içerik ({0}) bulundu.({1})", txtAra.Text, _Durum)); }
            else { MessageBox.Show("Aranan içerik bulunamadı."); }       
        }

 

Örnek2:Daha kullanıcı bir örnek açısından Anahtar kelimelerimiz olduğu bir uygulamamız olduğunu düşünelim ve kullanıcı tarafından bu parametrelerin dışarıdan girilerek aktif edilerek ilgili method’un çalıştığı düşünelim.

Aşağıdaki gibi form tasarlayalım.

txtParametre                     :              textbox
txtMetin                             :              textbox
btnParametreAktif             :              button

 

Anahtarımız

MailGonderim=E#GuvenlikTrigger=E#AXServisRestart=E#DisIpOgren=E#SqlRestart=E#InternetKontrol=E#TeraziKilo=E#SqlBackupServisCalistir=E#

txtParametre girilen anahtarı kontrol ederek ilgili methodumuzu çalıştıralım.

 

private void btnParametreAktif_Click_1(object sender, EventArgs e)
        {
            if ((Boolean)txtParametre.Text.Contains("MailGonderim=E") == true)
            {   // Mail gönderiyle ilgili kod parçacıklarımız
                MessageBox.Show("Mail Gönderimi Aktif Edildi"); 
            }

            if ((Boolean)txtParametre.Text.Contains("GuvenlikTrigger=E") == true)
            {  // Güvenlik Trigger ile ilgili kod parçacıklarımız
                MessageBox.Show("Güvenlik Trigger Aktif Edildi"); 
            }

            if ((Boolean)txtParametre.Text.Contains("AXServisRestart=E") == true)
            { // Ax Servis restart ile ilgili kod parçacıklarımız
                MessageBox.Show("Ax Servis Restart Ediliyor"); 
            }

            if ((Boolean)txtParametre.Text.Contains("DisIpOgren=E") == true)
            {  // Diş ip ile ilgili kod parçacıklarımız
                MessageBox.Show("Diş ip öğreniliyor."); 
            }

            if ((Boolean)txtParametre.Text.Contains("SqlRestart=E") == true)
            {  // Sql Server Restart ile ilgili kod parçacıklarımız 
                MessageBox.Show("Sql Server Restart ediliyor"); 
            }

            if ((Boolean)txtParametre.Text.Contains("InternetKontrol=E") == true)
            {  // İnternet Bağlantısı kontrol ile ilgili kod parçacıklarımız 
                MessageBox.Show("İnternet Bağlantısı kontrol edildi."); 
            }

            if ((Boolean)txtParametre.Text.Contains("TeraziKilo=E") == true)
            {  // Teraziden Kilo alımı ile ilgili kod parçacıklarımız 
                MessageBox.Show("Teraziden Kilo alımı aktif edildi."); 
            }

            if ((Boolean)txtParametre.Text.Contains("SqlBackupServisCalistir=E") == true)
            { // Sql Server Backup Server ile ilgili kod parçacıklarımız 
                MessageBox.Show("Sql Server Backup Server çalıştırıldı."); 
            }
        }

 

 

 

 

 

IsNullOrEmpty methodu gelen string değerin null ya da boş olma durumu kontrol ederek bize geriye true ve false değer döndür.
Kullanışlı bir method olmasına rağmen performans açısından boş olma durumu için (Empt)y tek başına kullanımını daha çok tavsiye ederim.

Kullanıcıdan Exchange veya uyumlu bir sunucuya bağlanmak için gerekli bilgileri aldığımız ve uygulamamız da hiçbir alanın boş geçilemediğini düşünelim.

Nesnelerimiz,
txtSunucu    :      Textbox
txtSmtpPort  :      Textbox
txtMailAdresi :      Textbox
txtKullanici :      Textbox
txtParola    :      Textbox
btnSinaKaydet :      Button

 

Sınama ve Kaydet buttonumuz içerisinde gerekli kod parçalarımıza yazalım.

private void btnSinaKaydet_Click(object sender, EventArgs e)
        {
           
            //String değerlerin null ya da boş olma durumunu kontrol ediyoruz.
            if (string.IsNullOrEmpty(txtSunucu1.Text) ||
                string.IsNullOrEmpty(txtSmtpPort1.Text) ||
                string.IsNullOrEmpty(txtMailAdres1.Text) ||
                string.IsNullOrEmpty(txtKullanici1.Text) ||
                string.IsNullOrEmpty(txtParola1.Text))
            {
                MessageBox.Show("Tüm alanlar zorunludur boş geçemezsiniz.");
            }
            else
            {
                MessageBox.Show("Sınama ve Kaydet me işlemi gerçekleştirildi.");
            }
        }

 

 

 

 

Insert methodu bir metin içerisine verdiğimiz başlangıç index ve karakterleri ekleme işlemi yapar.

Aşağıdaki gibi form tasarlayarak kullanıcı tarafından verilen başlangıç ve kelimeleri açıklama metni içerisine ekleyelim.

 

private void btnEkle_Click(object sender, EventArgs e)
        {
            txtInsertMetin.Text =
                txtInsertMetin.Text.Insert(Convert.ToInt32(txtInsertBaslangic.Text), txtInsertKelime.Text);

        }

 

 

Replace methodu UNICODE bir karekteri farklı karekterlere dönüştürmek için kullanılır.

Uygulamalarımızda (.)karakterini (,) gibi karekterlere çevirmek zorunda kaldığımız çok olmuştur.bizde bu örneğimizde tanımlı bir metin içerisin belirdiğimiz kelimeleri istediğimiz kelimelere çeviren bir uygulama geliştireceğiz.

Aşağıdaki gibi form tasarlayalım.

txtReplaceAranan        :     Textbox

txtReplaceYeniDeger     :     Textbox

txtReplaceAciklama      :     Textbox

btnReplace              :     Button

private void btnReplace_Click(object sender, EventArgs e)
        {
            txtReplaceAciklama.Text = 
                txtReplaceAciklama.Text.Replace(txtReplaceAranan.Text, txtReplaceYeniDeger.Text);
        }

 

 

 

Remove methodu içerisine 2 tane instance bulundurmaktadır.1.instance string değer içerisindeki herşeyi kaldırırken 2. instance string değer içerisinde belirtilen başlangıç index numarasından başlayarak verile silinmek karekter sayısına kadar metin içerisinden silme işlemini gerçekleştirmektedir.

Biz örneğimiz de kulanıcı tarafından verilen başlangıç index numarası ile silinmek istenen karekter sayısını alan bir geliştirme yapacağız.

private void btnRemove_Click(object sender, EventArgs e)
        {
            txtRemove.Text =
                txtRemove.Text.Remove(Convert.ToInt32(txtRemoveBaslangic.Text.Text),
                                      Convert.ToInt32(txtRemoveSayisi));
        }

 

 

 

Split methodu string değer içerisinde istenilen karekter göre ayrıştırmak için kullanılır.

Bir örneğimizde kullanıcıdan aldığımız bir metin içerisinden istenilen ayraçlara göre ayrıştırarak bir listbox eklenmesini sağlayan bir uygulama geliştireceğiz.

Aşağıdaki gibi form tasarlayalım.

TxtSplitKelime             :      Textbox

txtSplitAyrac              :      Textbox

lsbSplit                   :      Listbox

btnSplit                   :      Button

        private void btnSplit_Click(object sender, EventArgs e)
        {
            
            string[] kelimeler = 
                    txtSplitKelime.Text.Split(Convert.ToChar(txtSplitAyrac.Text));

            foreach (string kelime in kelimeler)
            {
                lstSplit.Items.Add(kelime);
            }

        }

 

 

Substring methodu string değer içerisinden verilen başlangıç noktasından başlayarak istenilen karekter sayına kadar alınmasını sağlanmaktadır.

Aşağıdaki gibi form tasarlayalım.

private void btnSubstring_Click(object sender, EventArgs e)
        {
            
            MessageBox.Show(
                txtSubString.Text.Substring(Convert.ToInt32(txtSubStringBas.Text),
                                            Convert.ToInt32(txtSubStringBit.Text)));
        }

 

 

ToLower methodu string değerin tüm karekterlini küçük harfe çevirir.

ToUpper methodu string değerin tüm karekterlini büyük harfe çevirir.

Aşağıdaki gibi form tasarlıyalım.

Kullanıcı dan alınan bilgileri listbox küçük ve büyük olarak ekleyelim.

private void button1_Click(object sender, EventArgs e)
        {
            //küçük harf olarak ekle
              lsbLowerUpper.Items.Add(txtLowerUpperKelime.Text.ToLower());
            //BÜYÜK HARF OLARAK EKLE
              lsbLowerUpper.Items.Add(txtLowerUpperKelime.Text.ToUpper());
        }

 

 

 

Trim method’u içerisinde 2 durum bulunur. 1. durum string değerin başta ki ve sonda ki boşlukları silerken 2. durum da ise başta ki ve sonda ki istenilen karekterleri siler.

TrimEnd string değer içerisinde sadece sondaki boşlukları ve istenilen karakterleri silmek için kullanılır.

Aşağıdaki gibi form tasarlayalım.

Nesnelerimiz,

TxtTrim                           :      Textbox

rgTrim                            :      RadioButton

Trim (Boşlukları Temizle)    (0)  :      RadioGroupItem

Trim (Karakteri Temizle)     (1)  :      RadioGroupItem

TrimEnd (Boşlukları Temizle) (2)  :      RadioGroupItem

TrimEnd (Karekteri Temizle)         (3)  :      RadioGroupItem

txtKarekter                       :      Textbox

btnTrim                           :      Button

private void rgTrim_SelectedIndexChanged(object sender, EventArgs e)
        {
            //Karekter Değişim özelliklerinde TxtTrimKarekter nesnesine Enable=True yapıp diğer duruma false yapalım.

            if ((Int16)rgTrim.EditValue == 1)  {txtTrimKarekter.Enabled = true; }
            else if ((Int16)rgTrim.EditValue == 3) {txtTrimKarekter.Enabled = true;}
            else { txtTrimKarekter.Enabled = false; txtTrimKarekter.Text = string.Empty; }
        }


//Kullanıcının seçimini kontrol ederek ilgili trim işlemini gerçekleştirelim.

private void btnTrim_Click(object sender, EventArgs e)
        {
            if ((Int16) rgTrim.EditValue == 0)
            {
                //Baştaki ve sondaki boşlukları temizle
                txtTrimMetin.Text = txtTrimMetin.Text.Trim();
            }
            else if ((Int16)rgTrim.EditValue == 1) 
            {
                //Baştaki ve sondaki belirtilen karekterleri temizle
                txtTrimMetin.Text = txtTrimMetin.Text.Trim(Convert.ToChar(txtTrimKarekter.Text));
            }
            else if ((Int16)rgTrim.EditValue == 2)
            {
                //sondaki belirtilen karekterleri temizle
                txtTrimMetin.Text = txtTrimMetin.Text.TrimEnd();
            }
            else if ((Int16)rgTrim.EditValue == 3)
            {
                //Sondaki belirtilen karekterleri temizle
               txtTrimMetin.Text=  txtTrimMetin.Text.TrimEnd(Convert.ToChar(txtTrimKarekter.Text));
            }
        }

Yazıyı beğendiyeseniz sosyal medyada paylaşabilirsiniz.

Yazar Hakkında

Avatar
Mustafa Demircioğlu

Yazılım Geliştirme Uzmanı - Merkas

cialis generic kamagra gel cheap cialis uk levitra uk cialis generic kamagra gel kamagra 100mg cheap cialis uk cheap levitra uk cheap cialis kamagra 100mg cialis tadalafil kamagra oral jelly cialis buy viagra generic levitra uk kamagra gel cialis generic cheap levitra cheap viagra uk

Yorumlar

  1. Avatar
    Mesut Günes

    03/02/2015

    Eline saglik Mustafa hocam faydali ve kaliteli bir paylasim olmus.

  2. Avatar
    Sercan

    04/02/2015

    Hocam Devexress kullaniyorsunuz arayüzde galiba. Lisansini bizimle paylasmaniz mümkün müdür? Malum ögrenci oldugum için alma imkanim yok lisansi.

  3. Avatar
    Hakan Özvar

    04/02/2015

    hocam çok güzel bir yazi olmus elinize saglik proje dosyasini da paylasabilir misiniz.devexpress için de paylasim yaparsaniz çok sevinirim.

  4. Avatar
    Taner Uzunel

    04/02/2015

    Mustafa hocam isminiz çok tanidik geliyor. Baska bir sitede makaleleriniz var miydi? 3- 4 sene önce yanlis mi hatirliyorum acaba. eger varsa adi neydi bulamiyorum

  5. Avatar
    Mustafa Demircioglu

    04/02/2015

    Taner Bey, Belirtiginiz zaman dilimin de Yaztasarla.com ailesi içerinde makale paylasimlarimiz oluyordu. Yaztasarla.com 2012 yilinda yayin hayatini sonlandirmistir.

  6. Avatar
    Mustafa Demircioglu

    04/02/2015

    Hakan, Asagidaki link aracigiyla proje dosyasina erisebilirsin. https://www.dropbox.com/s/qn4qhn4dcm8vdin/Bt_Kulubu_SystemSinifi_2.rar?dl=0

  7. Avatar
    Taner Uzunel

    05/02/2015

    Evet simdi hatirladim. Niye kapattiniz ben orayi düzenli takip ediyordum. tuzunel kullanici adinda üyeydim sitenize. Niye kapandi mail de gelmedi kapatildigina dair.

  8. Avatar
    Developeria

    03/03/2015

    Hocam elinize saglik. Hocam ben bir haber sitesinden haber çekecek bir bot yzmak istiyorum .net ile sizin böyle bir çalismaniz varmi? Eger yoksa bize bu konuda örnek yapar mininiz?

  9. Avatar
    Developeria

    04/03/2015

    Hocam bir önceki yorumuma dönüsünüzü bekliyorum. Ayrica hocam Devexpress için tavsiye edebileceginiz bir kitap mevcut mudur ?

  10. Avatar
    Mustafa Demircioglu

    04/03/2015

    Developeria , RSS Okumayi arastirmalisin.geçmiste Hazirladigimiz rss okuyucu uygulamalar mevcut durum da fakat makale olarak elimde bulunmuyor bir bollukta konuyla ilgili makale paylasinda bulunuyor olacagim. Devexpress kendi documention Okuyabilirsin. https://documentation.devexpress.com/

  11. Avatar
    Developeria

    06/03/2015

    Hocam sagolun da ben help dökümanindan anlamiyorum çok karisik geliyor bana kitap tavsiye eder misiniz?

  12. Avatar
    Mustafa Demircioglu

    06/03/2015

    Developeria, Türkçe kullandigim ve bildigim bir kitap yok Kariyer egitim seti'nin sanirsam C# Ön muhasebe programi egitim setinde devexpress componentleri kullaniliyor buna bir bakabilirsin.

  13. Avatar
    Ahmet

    09/03/2015

    Hocam devexpres mobil tarafi için paylasimda bulunur musunuz? Mobil app naisl yapabiliriz sifirdan anlatir misnizi devex ile.

  14. Avatar
    Hamza Akyol

    10/03/2015

    Hocam elinize saglik projeyi bizimle paylasir misniiz?

Yorum Yazın

.com

Bülten Üyeliği

Güncel eğitim ve etkinliklerden ilk haberdar olmak için ücretsiz abone olun.

Login

Login olmak için kullanıcı adınızı ve şifrenizi giriniz.

Şifremi Unuttum

×

Hızlı İletişim

Her konuda bana yazabilirsiniz. En kısa zamanda cevap vereceğim.

×