C# ile String Üzerinde İşlemler

Mart 04, 2017 Mustafa BÜKÜLMEZ 1 Yorum

Bu dersimizde C# string veri türündeki içeriklerle oynayıp bir takım işlemler yapabiliriz. String değerlerindeki boşlukları silmek, baştan yada sondan karakter silmek gibi işlemleri yapabiliriz.
Bu işlemin nasıl yapıldığını birazdan göreceğiz. Bu gibi temel bilgiler ileride çok işimize yarayacak.

C#’da string ifadelerde alt satıra geçmek için “/n” ifadesini veya sadece “n” ifadesini kullanabiliriz.

Programlamada sayılar 0 dan başlar yani 10 karakterli bir ifadenin son karakterin sırası 9 olur.
0,1,2,3,4,5,6,7,8,9 

Hemen kodlarımızı inceleyelim.

1 - Bir karakteri istenen sayı kadar yazdırmak
1
2
string cizgiEkle = new string("-", 50);
label1.Text = cizgiEkle.ToString();

Yukarıdaki kodumuzun yapacağı işlem "-" çizgi simgesini 50 kere yan yana yazar.


2 - Bir yazının kaç karakter olduğunu bulmak (Length)
1
2
string yazi = "csharpiledundenbugune.blogspot.com.tr";
MessageBox.Show(yazi.Length);

Yukarıdaki kodumuz yazi ismindeki string değerin kaç karakterden oluştuğunu gösterir. Integer(sayısal) değer döndürür.
NOT: Programlama boşlukda bir karakter sayılmaktadır. Yani boşluk tuşuna basıp boşluk bıraktığınızda bu da bir karakter olarak sayılır. Programlama da gerçek boşluğu "NULL" ile ifade ederiz.


3 - Bir yazının içerisinden bir bölümü silmek (Remove)
1
2
3
string yazi = "csharpiledundenbugune.blogspot.com.tr";
string KalanYazi = yazi.Remove(0, 6);
MessageBox.Show(KalanYazi .ToString());

Yukarıdaki kodumuzda yazi ismindeki string değerin 0. karakterinden başlayarak 6 adet karakteri siler. Sonuç: "iledundenbugune.blogspot.com.tr" olur.

4 - Bir yazının içerisindeki bir karakteri istediğimiz karakterle değiştirmek (Replace )
1
2
3
4
5
6
7
8
9
10
string kelime = "csharpiledundenbugune.blogspot.com.tr";
MessageBox.Show(kelime.Replace('c', 'C'));
string kelime2 = "csharpiledundenbugune.blogspot.com.tr";
MessageBox.Show(kelime2.Replace('csharp', 'CSrp'));
string kelime3 = "csharpiledundenbugune.blogspot.com.tr";
MessageBox.Show(kelime3.Replace('Com', String.Empty));
string kelime4 = "csharpiledundenbugune.blogspot.com.tr";
MessageBox.Show(kelime4.Replace('Com', String.Empty).Replace('.', ''));

Yukarıdaki kodumuzda kelime ismindeki string değerin;
         1 - Yazımızdaki tüm " c " ifadelerini " C " ile değiştirir.
         2 - Yazımızdaki tüm " csharp " ifadelerini " CSrp " ile değiştirir.
         3 - Yazımızdaki tüm " Com " ifadelerini siler (String.Empty silme işine de yarar.)
         4 - Burada diğer örneklerimizden farklı olarak 2 adet Replace kullandık. Bu şekilde de              kullanabiliriz. Yazımızdaki tüm " Com " ve " . " ifadelerini siler.

5 - Bir yazının içerisinden bir bölümü almak (Substring)
1
2
3
4
5
6
7
//Kullanım 1
string isim = "Mustafa BÜKÜLMEZ"; //Burada "M" 0.karakterdir. Bunu unutmamak gerekiyor
MessageBox.Show(isim.Substring(0,6)); //Ekran çıktısı olarak "Mustafa" yı verecektir. 0.karakterden başlayarak 6 adet karakteri alır.
//Kullanım 2
string isim2 = "Mustafa BÜKÜLMEZ";
MessageBox.Show(isim2.Substring(7)); //Ekran çıktısı olarak "BÜKÜLMEZ" i verecektir. 7.karakterden başlayarak son karaktere kadar seçim yapar.
NOT: Yazı 15 karakter olsun. Almak istediğiniz karakter 15'in dışına çıkarsa hata verir.
6 - Bir yazıyı karakterlerine ayırır. (ToCharArray)
1
2
3
4
5
6
7
8
9
//Kullanım 1
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,U,S,T,A,F,A, ,B,Ü,K,Ü,L,M,E,Z dir. Boşluklarında dahil olduğunu unutmayalım. Burada bir if kontrolü ile boşlukları eklemeyebiliriz.
  }
//Kullanım 2
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.


7 - Bir yazı içerisindeki boşluklukları silmek (Trim)
1
2
3
4
5
6
7
8
9
10
11

string adSoyad = "   Mustafa BÜKÜLMEZ    ";

//Kullanımı 1 (Trim)
MessageBox.Show(adSoyad.Trim()); //Çıktı olarak boşluksuz şekilde "Mustafa BÜKÜLMEZ" yazacaktır. Kısaca ifadede ki boşlukları kaldırır.
//Kullanım 2 (TrimStart)
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 "Mustafa BÜKÜLMEZ  " yazacaktır. (Sonunda boşluk olacak şekilde)
//Kullanım 3 (TrimEnd)
MessageBox.Show(adSoyad.TrimEnd()); // TrimEnd'da string ifadenin sonundaki boşluğu kaldırır başındaki boşlukları kaldırmaz. Çıktı olarak "  Mustafa BÜKÜLMEZ" yazacaktır. (Başında boşluk olacak şekilde)


8 - Bir yazının istediğimiz karakterlerle başlayıp başlamadığı yada bitip bittiğini kontrol etmek (StartWidth & EndsWidth)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
string yazi = "Must";

//Kullanım 1
if(textBox1.Text.StartsWith(yazi))
   MessageBox.Show("Cümle Must ile başlıyor.");
else 
   MessageBox.Show("Cümle Must ile başlamıyor.");


//Kullanım 2
if(textBox1.Text.EndsWidth(yazi1)) 
  MessageBox.Show("Cümle Must ile bitiyor.."); 
else 
  MessageBox.Show("Cümle Must ile bitmiyor.");
//NOT: If kullanımında yapılacak işlem tek satır ise açma kapama
//parantezlerini kullanmanıza gerek yoktur. ";" satır sonu anlamına gelir.


9 - Bir yazının tüm karakterlerini büyük harf yapmak (ToUpper)
1
2
string isim = "Mustafa BÜKÜLMEZ";
MessageBox.Show(isim.ToUpper()); //Çıktı olarak "MUSTAFA BÜKÜLMEZ" yazar.

10 - Bir yazının tüm karakterlerini küçük harf yapmak (ToLower)
1
2
string isim = "Mustafa BÜKÜLMEZ";
MessageBox.Show(isim.ToLower()); //Çıktı olarak "mustafa bükülmez" yazar.


11 - Bir yazıdaki belirli karakterlere göre yazıyı parçalamak (Split)
1
2
3
4
5
6
7
8
9
10
11
string adSoyad = "Mustafa BÜKÜLMEZ";
string[] parclar = adSoyad.Split(' ');
for (int i = 0; i < parcalar.Count(); i ++)
{
MessageBox.Show(parcalar[i]);
}
//Her boşluk gördüğünde adSoyad değerini parçalayarak parcalar adlı
//dizi içerisine ekler. For döngüsü ile sıra numarasına göre ekrana
//yazdırabiliriz. Genelde bu işlem " - " ile ayrılmış bir serial
//kodunu sırası ile ilgili textbox lara yazdırmaz için kullanılır.
// Split ('-') şeklinde kullanırsınız.

12 - Bir değişkeni string değre dönüştürme (ToString)
1
2
int sayi = "123456";
MessageBox.Show(sayi.ToString()); //int değişkenini string bir değere dönüştürdük


13 - Bir yazının sonuna başka yazı eklemek (Insert)
1
2
3
4
5
6
string yazi1 = "Mustafa",yazi2 = "BÜKÜLMEZ";
string SonYazi = "";
SonYazi = yazi1.Insert(yazi1.Lenght, yazi2);
//bu kodda yazi2 yi yazi1 in ortasına da ekleyebiliriz.
SonYazi = yazi1 + yazi2 ;
// bu şekildede iki string'i yan yana ekleyebiliriz.

SonYazi değişkenine yazi1 in indeks(örnekte son karakter oluyor.). elemanından sonrasına yazi2 stringini yerleştirir ve tutar.


bu dersimizde bu kadar arkadaşlar diğer derslerimizde görüşmek üzere.







1 yorum: