String içerisindeki bir string i değiştirme,
String içerisinde belli bir yerden, belli bir sayı kadar karakter alma,
Bir string i karakterlerine ayırma,
String in başlangıcındaki ve/veya bitimindeki boşlukları silme,
Bu ve benzeri işlemleri yapmak için bu yazımda anlatacağım String Methodlarını kullanacağız. Bu yazımda anlatacağım Methodlar; Replace, SubString, ToCharArray, Trim
Replace
Kullanımı bazen oldukça işine yarabilir. String içerisinde bir string i başka bir string ile değiştirebilirsiniz veya string içerisinde karakteri(char) başka bir karakter ile değiştirebilirsiniz. İlk önce değiştireceğimiz stringi veya char ı daha sonrada değişlik için kullanacağımız stringi veya char ı yazıyoruz.
kelime = "Buradaki tüm a harfleri büyük";
MessageBox.Show(kelime.Replace('a', 'A')); // tek tırnak ile tanımladık, yani char türünde, çıktı olarak "BurAdAki tüm A hArflari büyük"
kelime2 = "C# %100 nesneye yönelimli bir programlama dilidir. ";
MessageBox.Show(kelime2.Replace("neseneye yönelimli", "nesne tabanlı")); // ekran çıktısı:
SubString()
String içerisinde belli bir karakterden sonraki bölümü seçmemiz yarar. 2 türlü kullanımı vardır;
1. Kullanım
string kelime = "Gökhan Menteşe"; //Burada "G" 0.karakterdir. Bunu unutmamak gerekiyor
MessageBox.Show(kelime.Substring(6,7)); //Ekran çıktısı olarak "Menteşe" ı verecektir. 6.karakterden başlayarak 7tane seçim yapar.Sunu da hatırlamakta fayda var.Bosluk ta bir karakterdir.
2.Kullanım
string kelime = "Gökhan Menteşe";
MessageBox.Show(kelime.Substring(6)); //Ekran çıktısı olarak "Menteşe" yi verecektir. 6.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;
1.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;G,Ö,K,H,A,N, ,M,E,N,T,E,Ş,E dir. Boşluklarında dahil olduğunu unutmayalım. Burada bir if kontrolü ile boşlukları eklemeyebiliriz.
}
2.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()
Özellikle web uygulamalarında çok yaygın şekilde kullanılan bir uygulamadır trim. Bir string in başlangcındaki ve bitişindeki boşlukları temizler ve bize sadece yazılan içeriği yani anlamlı bölümü verir. TrimEnd ve TrimStart gibi methodlardan mevcuttur. Bunları burada anlatmayacağım. Uygulamalar yaptığımda eğer gerekirse kullanırım ve bunları paylaşırım.
Kullanım
string kelime = " Gökhan Menteşe ";
MessageBox.Show(kelime.Trim()); //Ekran çıktısı olarak "Gökhan Menteşe" yi verecektir. Kenardaki boşluları almayacaktır. Bu örneği iyi anlamak için önce boşluklu halinin Length ile uzunluğunu alıp daha sonra bu işlem sonucunda aldığınızda aradaki farkı göreceksiniz.
Trim, TrimEnd, TrimStart : Parametre olarak verilen bir karakteri değişkenin başından ve sonundan kaldırır.Herhangi bir karakter belirtilmediği zaman boşlukları kaldırır.
Kullanım Şekli : st1.Trim(“?”) st1.TrimStart(“?”) Başından Kaldırır. st1.TrimEnd(“?”) Sonundan Kaldırır.
class Program
{ // Daha fazla bilgi için : www.gorselprogramlama.com
static void Main(string[] args)
{
string str1, str2;
Console.Write("1. stringi giriniz = ");
str1 = Console.ReadLine();
Console.Write("2. stringi giriniz = ");
str2 = Console.ReadLine(); //
if (string.Compare(str1, str2) == 0) Console.Write("Stringler aynı");
else Console.Write("Stringler farklı");
Console.ReadKey();
}
}
örnekte ikinci kelimeden sonra bir kaç defa boşluk tuşuna bastım.Ve farklı dedi.Bunu engellemek için Trim özelliğini kullanabiliriz.
Örnek: Trim ekleyerek yapalım.
class Program
{
static void Main(string[] args)
{
string str1, str2;
Console.Write("1. stringi giriniz = ");
str1 = Console.ReadLine();
Console.Write("2. stringi giriniz = ");
str2 = Console.ReadLine();
if (string.Compare(str1.Trim(), str2.Trim()) == 0)
Console.Write("Stringler aynı");
else
Console.Write("Stringler farklı");
Console.ReadKey();
}
}
ikinci kelimeden sonra bir kaç defa boşluk tuşuna bastım.Trim ile bu boşluklar alındığı için kelimeler aynı dedi.