C# ile String Üzerinde İşlemler

Bu dersimizde C# string veri türündeki içeriklerle oynayıp bir takım işlemler yapabilirsiniz. Karakter silme, baştan veya sondan karakterler silme, boşlukları silme gibi birçok işlemin nasıl yapıldığını birazdan göreceğiz. Bu gibi temel bilgiler ileride çok işimize yarayacak.

İlk önce size önemli bir bilgiyi vermek istiyorum. C#’da string ifadelerde alt satıra geçmek için “/n” ifadesini veya sadece “n” ifadesini kullanabiliriz.

Ufak bir not : Bu dersimizde yapacağımız string işlemlerinde karakterleri sayarken her zaman sıfırdan başlamamız gerek. Normalde yazı 10 karakter ise c#’da o yazı 9 karakter olarak geçer. Yani ilk önce sıfır, bir, iki gibi saymaya başlar 🙂

# Tek Satırda İstediğimiz Kadar Yazı veya Karakter Yazmak
Herhangi bir karakteri 50 veya 100 defa yazdırmak istiyorsak aşağıdaki tek satırlık kodu kullanabiliriz. Aşağıdaki kodda ben 50 defa yan yana çizgi yazdırmak için gerekli kodları yazdım istediğinize göre siz değiştirebilirsiniz.

string cizgiEkle = new string("-", 50);
label1.Text = cizgiEkle.ToString();

# Length : String ifadenin uzunluğunu bulmak için kullanılır.
Aşağıdaki kodda yazi değişkeninde ki karakter sayısını ekrana yazdırıyoruz.

string yazi = "AtknUludag.Com";
MessageBox.Show(yazi.Length);

# Remove : String ifadeden belirtilen karakterleri silmek için kullanırız.
Aşağıdaki kodda dokuzuncu karakterden sonraki dört karakteri silmeye yarar.

string yazi = "AtknUludag.Com";
string SilinmisYazi = yazi.Remove(9, 4);
MessageBox.Show(SilinmisYazi.ToString());

# Replace : Herhangi bir karakteri istediğimiz karaktere çevirebiliyoruz.

string kelime = "atknuludag.com";
MessageBox.Show(kelime.Replace('a', 'A')); 
// Diğer kullanımı aşağıda
string kelime2 = "AtakanUludag.Com";
MessageBox.Show(kelime2.Replace('Atakan', 'Atkn')); 
// Bir başka kullanım
string kelime3 = "AtknUludagCom";
MessageBox.Show(kelime2.Replace('Com', String.Empty)); 
// String.Empty silmeye yarar ve diğer kullanımı şu şekildedir : ""
// Yani Com olan kısmı bu kodla siliyoruz

# SubString : String içerisinde belli bir karakterden sonraki bölümü seçmemiz yarar.

// İlk Kullanımı
string isim = "Atakan Yasin Uludağ"; //Burada "A" 0.karakterdir. Bunu unutmamak gerekiyor
MessageBox.Show(isim.Substring(12,6)); //Ekran çıktısı olarak "Uludağ" ı verecektir. 12.karakterden başlayarak 6 adet karakteri alır.

//İkinci Kullanımı
string isim2 = "Atakan Yasin Uludağ";
MessageBox.Show(isim2.Substring(12)); //Ekran çıktısı olarak "Uludağ" yı verecektir. 12.karakterden başlayarak son karaktere kadar seçim yapar.

# ToCharArray : String içeriğini karaktere ayırır. 2 türlü kullanımı vardır.

// İlk Kullanım
char[] karakterler = kelime.ToCharArray(); // Anahtar bölüm işte burası, burada karakterler adında char türünde bir dizi oluşturuluyor ve içerisine atılıyor. Yani aşağıdaki foreach yerine karakterler[sayi] diyerek ulaşabilirsiniz.
 foreach (char karakter in karakterler) // Foreach bu tarz işlemler için tam anlamıyla biçilmiş kaftandır. Örnekte iyi olacağını düşünüyorum
  {
   listBox1.Items.Add(karakter); // Bu bölümde bulunan karakterleri listbox1 a sırayla ekliyor. Yani ekran çıktısı olarak sırasıyla alt alta;M,A,H,M,U,T, ,C,A,N, ,S,Ö,Z,E,R,İ dir. Boşluklarında dahil olduğunu unutmayalım. Burada bir if kontrolü ile boşlukları eklemeyebiliriz.
  }

//İkinci Kullanım
char[] karakterler = kelime.ToCharArray(3,5); //SubStringteki mantık ile çalışır yani 3.index numarasından başlar ve daha sonraki 5 karakteri alır.

# Trim : String ifadede ki boşlukları silmeye yarar.

// İlk Kullanımı
string adSoyad = "   Atakan Yasin Uludağ    ";
MessageBox.Show(adSoyad.Trim()); //Çıktı olarak boşluksuz şekilde "Atakan Yasin Uludağ" yazacaktır. Kısaca ifadede ki boşlukları kaldırır.

// İkinci Kullanım (TrimStart)
string adSoyad2 = "   Atakan Yasin Uludağ  ";
MessageBox.Show(adSoyad.TrimStart()); // TrimStart'da ise string ifadenin başındaki boşluğu kaldırır sonlarındaki boşlukları kaldırmaz. Çıktı olarak "Atakan Yasin Uludağ  " yazacaktır. (Sonunda boşluk olacak şekilde)

// Üçüncü Kullanım (TrimEnd)
string adSoyad3 = "  Atakan Yasin Uludağ     ";
MessageBox.Show(adSoyad.TrimEnd()); // TrimEnd'da string ifadenin sonundaki boşluğu kaldırır başındaki boşlukları kaldırmaz. Çıktı olarak "  Atakan Yasin Uludağ" yazacaktır. (Başında boşluk olacak şekilde)

# StartWidth & EndsWidth : String ifadenin başında(StartWidth) ya da sonunda(EndWidth) istediğimiz karakterle bitip bitmediğini kontrol edebiliriz.

// İlk Kullanım
string txt = textBox1.Text;
string yazi = "Atkn";
if(txt.StartsWith(yazi))
 {
  MessageBox.Show("Cümle Atkn ile başlıyor.");
 }
else
 {
  MessageBox.Show("Cümle Atkn ile başlamıyor.");
 }

// İkinci Kullanım
string txt1 = textBox1.Text;
string yazi1 = "Atkn";
if(txt1.EndsWidth(yazi1))
 {
  MessageBox.Show("Cümle Atkn ile bitiyor..");
 }
else
 {
  MessageBox.Show("Cümle Atkn ile bitmiyor.");
 }

# ToUpper : String ifadede ki tüm karakterleri büyük harfe çevirir.

string isim = "atakan yasin uludağ";
MessageBox.Show(isim.ToUpper()); //Çıktı olarak "ATAKAN YASİN ULUDAĞ" yazar.

# ToLower : String ifadede ki tüm karakterleri küçük harfe çevirir.

string isim = "ATAKAN YASİN ULUDAĞ";
MessageBox.Show(isim.ToLower()); //Çıktı olarak "atakan yasin uludağ" yazar.

40 yorum

  1. erhan çakıcı Yanıtla

    merhabalar şimdi bende şöyle birşey yapmak istiyorum yardımcı olur musunuz
    4502589sdkjsadfksdfsjkdf450258902567
    4502587sdf 450258702567

    gibi aradaki boşluklari karaktermiş gibi gösterip hizalı şekilde txt yapmak istiyorum yardımcı olabilir misiniz.bilen varsa yardımcı olursa sevinirim erhan_cakici52@hotmail.com

    • Atakan Yasin Uludağ YazarYanıtla

      Sanırım böyle bir şey yapmak istiyorsunuz.

      string kelime = "atakan yasinuludağ 12 3";
                  int uzunluk = (kelime.Length) - 1;
                  for(int i = 0; i < uzunluk; i++)
                  {
                      string explode = kelime.Substring(i, 1);
                      if(explode == " ")
                      {
                          Console.Write("\t");
                      } else
                      {
                          Console.Write(explode);
                      }
                  }
                  
      
                  Console.ReadLine();
      

      Aynı şekilde txt’ye yazdırabilirsiniz bu şekilde.

  2. abdurrahman akbulut Yanıtla

    adam asmaca oyunu yapıyorum texboxdan girilen kelimenin yarısı kadar harf denemesi yaptırmak istiyorum nasıl yapabilirim yardımcı olabilirimisiz

    • Atakan Yasin Uludağ YazarYanıtla
      int wordLength = Convert.ToDouble(textBox1.text.Length / 2);
      

      Bu kod ile kelimenin yarı harf sayısını alabilirsin. Diğer kısımda for ile döngü açarak istediğin işlemleri yapabilirsin.

  3. Can nur Yanıtla

    Kullanıcının Girdiği ismi karışık nasıl yazılır ? örnek :Akrostiş şiir gibi alt alta yazacak mesela
    Brkau
    Ukarb
    Ruabk
    Arkbu
    Karbu

    Bunun Gibi aynı ama girilen her ismi böyle yazacak acil söylermisiniz

  4. Pınar Münüklü Yanıtla

    Merhaba Arkadaşlar ,
    Bu sorulaı yapmamda yardımcı olurmusunuz

    Verilen bir karakter dizininin string nesnesi içerisinde kaç defa bulunduğunu örnek deki gibi yazdırınız?
    – Verilen bir karakter dizininin substring() metodunu kullanarak string içerisinde kaç defa geçtiğinin örnek deki gibi yazdırınız?
    – Verilen bir string nesnenin içerisinde Alfabenin karakterlerinin her birinden kaç adet olduğunu bulan ve örnekteki verilen formatta yazdıran kodu yazınız?

  5. Ceren Yalman Yanıtla

    Merhaba Atakan Bey klavyeden girilen ?????? tipinde bir değeri klavyeden girilen bir karaktere göre ayrıştıran
    program kodu nasıl yazılır yardımcı olabilir misiniz ?
    Şimdiden teşekkürler

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir