Merhaba!
Bu yazımızda String sınıfı ve metotlarını tanıyacağız.
String nedir?
String Metotlarını öğrenme aşamasına kadar geldiyseniz, stringin ne olduğunu bildiğini varsayıyorum. Bu yüzden fazla ayrıntıya girmeden string metotlarına geçeceğim. Kısaca, örnek vermek gerekirse birden fazla karakter içeren metinlere string diyebiliriz. Karakterden kastım harf, rakam ve alfanümerik karakterler vb. her şey olabilir.
En başta yaptığımız tanıma geri dönelim ve string metotlarına göz atalım.
String Metotları
string sentence = "Bu bir deneme cümlesidir.";
Bu şekilde bir string cümlesi oluşturalım. Bütün metotları bu cümle üzerinde kullanıp sonuçlarını göreceğiz.
Count() metodu
Bu metot bize stringin içerdiği karakter sayısını verir. Örneğin bizim cümlemizde 25 karakter mevcut. Aşağıdaki satırda adet değişkeni değeri 25 olacaktır.
var adet = sentence.Count();
Birlikte sayalım;
B u b i r d e n e m e c ü m l e s i d i r .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Unutma boşluk, nokta, virgül, vb. her şey bir karakter olarak sayılır!
StartsWith() ve EndsWith() metodu
Bu metot stringin nasıl başladığı ve bittiği ile ilgili bize boolean bir değer döner.
bool result = sentence.StartsWith("Bu"); //TRUE DÖNER
bool result2 = sentence.StartsWith("Bu b"); //TRUE DÖNER
bool result3 = sentence.StartsWith("Bubir"); //FALSE DÖNER
bool result4 = sentence.StartsWith("deneme cümlesidir."); //FALSE DÖNER
bool result5 = sentence.EndsWith("."); //TRUE DÖNER
bool result5 = sentence.EndsWith("r."); //TRUE DÖNER
bool result5 = sentence.EndsWith("Bu"); //FALSE DÖNER
bool result5 = sentence.EndsWith("bir deneme cümlesidir."); //TRUE DÖNER
IndexOf() ve LastIndexOf() metodu
Aradığımız karakteri veya stringi parametre olarak gireriz. Ve bu girdiğimiz değer, cümle içinde buluyorsa, bulunduğu indexi bize geri döndürür. Eğer cümle içinde bulamazsa -1 değerini döndürür. Yani sonuç -1 geliyorsa, aradığımız şey bu cümlede yok demektir.
var result = sentence.IndexOf("bir"); //SONUÇ OLARAK 3 YAZAR.
var result2 = sentence.IndexOf("blog"); //cümlemizin içinde blog kelimesi olmadığı için -1 YAZAR.
Üstteki satır bize 3 değerini döndürür. Yani bir stringinin başladığı index olan 3’ü geri döndürür. Hatırlatayım : Stringlerde de indexler sıfırdan başlıyor. (Dizilerde olduğu gibi.)
B u b i r d e n e m e c ü m l e s i d i r .
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Üstteki index numaralandırmasında dikkat edelim; bir stringi 3.indexten başlıyor.
var result = sentence.IndexOf('c'); //SONUÇ OLARAK 14 YAZAR.
Şimdide tek bir karakteri arayalım. Üstteki satır 14 değerini verir bize. Soldan bakmaya başlar ve ilk ‘c’ karakterini bulduğunda durur ve onun index numarasını bize verir.
var result = sentence.LastIndexOf('d'); //SONUÇ OLARAK 21 YAZAR.
LastIndexOf() metodu ise aranmasını istediğimiz veriyi aramaya sondan başlar. Aradığımız şey sonlara yakınsa bunu kullanarak aramak daha mantıklıdır. (Bizim bu örneğimiz için geçerli değil bu dediğim). Üst satırdaki kodumuz ‘d’ karakterini aramaya sondan başlar ve ilk gördüğü yerde durur ve oranın indexini bize verir.
Insert() metodu
Bu metot sayesinde stringin başına, ortasına veya sonuna ekleme yapabiliriz.
var newSentence = sentence.Insert(0,"Selam! ");
Console.WriteLine(newSentence);
//EKRAN ÇIKTISI :
//Selam! Bu bir deneme cümlesidir.
Görüldüğü gibi 0. indexe “Selam! ” stringini ekledik ve yeni cümle “Selam! Bu bir deneme cümlesidir.” şeklinde oldu.
Cümlenin sonuna ekleme yapalım aşağıda.
var newSentence = sentence.Insert(25," Selam!");
Console.WriteLine(newSentence);
//EKRAN ÇIKTISI :
//Bu bir deneme cümlesidir. Selam!
Replace() metodu
Değiştirmek anlamına gelen bu metot, stringde değişmesini istediğimiz karakteri belirtip değiştirebiliyoruz.
var result = sentence.Replace(" ","-");
Console.WriteLine(result);
//EKRAN ÇIKTISI :
//Bu-bir-deneme-cümlesidir.
Boşluk karakterlerini, tire(-) yapmasını sağladık.
Remove() metodu
Adından da anlaşılacağı üzere silme işlemi yapar.
var result = sentence.Remove(2); //2.indexten itibaren stringin geri kalanını siler.
Console.WriteLine(result);
//EKRAN ÇIKTISI :
//Bu
--------------------------------------------------
var result2 = sentence.Remove(2,11); //2.indexten itibaren 11 karakter siler.
Console.WriteLine(result2);
//EKRAN ÇIKTISI :
//Bu cümlesidir.
Clone() metodu
Stringi kopyalamamızı sağlar. Aynı stringi başka bir değişkene kopyalayabiliriz.
var copySentence = sentence.Clone();
Console.WriteLine(copySentence);
//EKRAN ÇIKTISI :
//Bu bir deneme cümlesidir.
Substring() metodu
Stringi, alt stringlere böler. Örnekle daha kolay anlaşılacağı için direk örneğe geçelim.
var result = sentence.Substring(3);
Console.WriteLine(result);
//EKRAN ÇIKTISI :
//bir deneme cümlesidir.
Üstteki kod satırlarında 3.indexten sonrasını alır ve yeni bir değişken olan result değişkenine atar.
var result2 = sentence.Substring(7,6);
Console.WriteLine(result2);
//EKRAN ÇIKTISI :
//deneme
Üstteki kod satırlarında 7.indexten itibaren 6 karakter boyunca alır ve result2 değişkenine atar.
Başlıca string metotlarını inceledik. Sizlerin de sık kullandıklarınız veya bu makale içeriğine eklemek istedikleriniz varsa yorumlarda belirtin lütfen.
İyi kodlamalar dilerim 🙂
Göz atmak istersen :
C# FOR DÖNGÜSÜ VE İÇ İÇE FOR DÖNGÜSÜ NASIL ÇALIŞIR?
YAZILIM GELİŞTİRMEDE METOTLARIN KULLANIMI.
SELECTİON SORT ALGORİTMASI (C# KODLAMA)
Paylaşmak istersen?