C# string yani metinlerle işlem yapmak için hazır metotlar bulunmaktadır. Bu metotlara string metotları diğer adıyla metinsel metotlar denmektedir. Metinsel metotlar string sınıfını kullanmaktadır. C# programlama dillerinde kullanılan en çok metinsel metotlar şunlardır:
Length metodu string ifadelerde kullanıldığında metnin kaç karakterden oluştuğunu bulmak için kullanılmaktadır. İnt türünde değer döndürmektedir. Örneğin : Azkod kelimesi 5 karakterdir.
int sayi=degisken_ismi.Length;
Ekrana C# dersleri metninin kaç karakterden oluştuğunu yazacaktır.
string metin="C# Dersleri";
int sonuc=metin.Length;
Console.WriteLine(sonuc);
ToLower metodu string değişken içinde bulunan metnin tamamını küçük harfe dönüştürmek için kullanılmaktadır.
string kucuk_metin=degisken_ismi.ToLower();
isim değişkeni içindeki AZKOD yazısını ToLower metodu ile bütün karakterlerini küçük harfe dönüştürerek ekrana azkod yazacaktır.
string isim="AZKOD";
string yeni_metin=isim.ToLower();
Console.WriteLine(yeni_metin);
ToLower metodu string değişken içinde bulunan metnin tamamını büyük harfe dönüştürmek için kullanılmaktadır.
string buyuk_metin=degisken_ismi.ToUpper();
isim değişkeni içindeki azkod yazının ToUpper metodu ile bütün karakterlerini büyük harfe dönüştürerek ekrana AZKOD yazacaktır.
string isim="azkod";
string yeni_metin=isim.ToUpper();
Console.WriteLine(yeni_metin);
Compare metodu türkçe kelime karşılığından da anlaşıldığı üzere karşılaştırma işlemi yapmaktadır. İki string ifadenin karşılaştırılması için kullanılmaktadır. String ifadelerin 1. karakterinden itibaren karakter karakter karşılaştırma işlemi yapar ve buna görede integer(tamsayı) bir değer geri döndürür. Geri dönen değerler:
int sonuc=String.Compare(degisken1,degisken2);
string degisken1,degisken2;
degisken1="Azkod";
degisken2="Azkod";
int sonuc=String.Compare(degisken1,degisken2);
Console.WriteLine(sonuc);
Console.ReadLine();
Klavyeden girilen 2 metini karşılaştıran ve çıkan sonuca göre ekrana eşit veya değil yazan C# programının kodunu yazın.
Console.WriteLine("Lütfen karşılaştırılacak 1. metni giriniz");
string metin1= Console.ReadLine();
Console.WriteLine("Lütfen karşılaştırılacak 2. metni giriniz");
string metin2= Console.ReadLine();
int sonuc=String.Compare(metin1,metin2);
if(sonuc==0)
{
Console.WriteLine("İki metin birbirine eşit");
}
else
{
Console.WriteLine("İki metin birbirine eşit DEĞİL");
}
Console.ReadLine();
Compare metodunun büyük küçük harfe duyarlı veya duyarsız olarak yapmak için compare metoduna 3. parametre eklenir ve bu parametre boolean yani true veya false değeridir. Bu değerlerden:
true : 3. parametre olarak true verdiğimizde küçük-büyük harfe duyarsız olacaktır. Örneğin: AZKOD ile azkod kelimelerini eşit kabul edecektir.
false : 3. parametre olarak false verdiğimizde küçük-büyük harfe duyarlı olacaktır. Örneğin: AZKOD ile azkod kelimelerini eşit DEĞİL kabul edecektir.
int sonuc= String.Compare(metin1, metin2, büyük-küçük harf duyarlılık parametresi);
//küçük büyük harfe duyarsız
int sonuc= String.Compare(metin1, metin2, true);
//küçük büyük harfe duyarlı
int sonuc= String.Compare(metin1, metin2, false);
string degisken1,degisken2;
degisken1="AZKOD";
degisken2="Azkod";
int sonuc=String.Compare(degisken1,degisken2,true);
Console.WriteLine(sonuc);
Console.ReadLine();
string degisken1,degisken2;
degisken1="AZKOD";
degisken2="Azkod";
int sonuc=String.Compare(degisken1,degisken2,false);
Console.WriteLine(sonuc);
Console.ReadLine();
Concat metodu string ifadeleri kısaca birleştirmek için kullanılan metod'dur. Verilen ifadeleri ard arda ekler ve geriye string olarak değer döndürmektedir.
string sonuc=String.Concat(Parametre Listesi);
Örnek:
string y1="C# ";
string y2="Dersleri";
string sonuc=String.Concat(y1,y2);
Console.WriteLine(sonuc);
Console.ReadLine();
Örnek:
string m1="C# ";
string ym2="Dersleri";
int sayi=37;
string sonuc=String.Concat(m1,m2,sayi);
Console.WriteLine(sonuc);
Console.ReadLine();
Copy metodu ismindende anlaşıldığı üzere kopyalama işlemi yapmaktadır. Copy metodu string olarak verilen metni kopyalama işlemi yapmak ve yeni değişkene atamak için kullanılır.
string kopya_metin=String.Copy(metin);
string ders_ismi="C# Dersleri";
string kopya_metin=String.Copy(metin);
Console.WriteLine("Metnin kopyası :"+kopya_metin);
Console.ReadLine();
Format metodu string ifadeleri belirli bir biçimde belirli bir standartta yazdırılması istendiğinde kullanılan metod'dur. Format metodu geriye string değeri döndürmektedir.
String.Format("{0,soldan_kaç_boşluk_olacağı}", 15);
String.Format("{0,4}", 37);
//ekrana soldan 2 boşluk bırakır ve 37 yazar
//37sayısı ile birlike toplam 4 karakterden oluşur
// 37
String.Format("{0:0000}", 37);
//0037 yazar.
String.Format("{0:(###) ### ## ##}", 1234567890)
//ekrana telefon formatlı şekilde yazdırmak için kullanılır
//(123) 456 78 90
String.Format("{0:(###)-###-##-##}", 1234567890)
//ekrana telefon formatlı şekilde yazdırmak için kullanılır
//(123)-456-78-90
Format metodunun daha çok kullanım şekli bulunmaktadır.
IsNullOrEmpty metodu string ifadenin içinin boş olup olmadığını kontrol etmek için kullanılır. Geriye boolean değer döndürmektedir. Bu değerlerden :
bool sonuc=String.IsNullOrEmpty(metin);
string metin="AZKOD";
bool sonuc=String.IsNullOrEmpty(metin);
if(sonuc==true)
{
Console.WriteLine("Metin isimli değişkenin içi boş");
}
else
{
Console.WriteLine("Metin isimli değişkenin içinde veri bulunmaktadır.");
}
Console.ReadLine();
CompareTo metodu isminden de anlaşıldığı üzere karşılaştırma işlemi yapmaktadır. Üst kısımda string sınıf ile çağırılan compare metoduna benzemektedir aradaki fark compare metodu string sınıf ile çağırılıyordu, compareTo metodu ise string ifade ile çağrılmaktadır. Metod kullanım şekline bakınca daha iyi anlayacaksınız. CompareTo metodunda karşılaştırılacak metinler karakter karakter karşılaştırılmaktadır.
Buna göre geri dönen değerler:
int sonuc=metin1.CompareTo(metin2);
Örnek:
string yazi1,yazi2;
yazi1="Azkod";
yazi2="Dersler";
int sonuc=yazi1.Compare(yazi2);
Console.WriteLine(sonuc);
Console.ReadLine();
Contains metodu string ifade içerisinde karakter veya metin aramak için kullanılmaktadır. Geriye boolean bir değer döndürmektedir. Değer true gelirse aranan karakter veya metin string ifadede bulunmakta, false gelirse aranan karakter veya metin string ifadenin içinde yok demektir.
bool sonuc=icerik.Contains(aranan_metin_veya_karakter);
string icerik="Azkod ile Kodlama Dersleri";
string aranan_metin="Ders";
bool sonuc=icerik.Contains(aranan_metin);
Console.WriteLine(sonuc);
Console.ReadLine();
CopyTo metodu string ifade içerisinden char türündeki diziye belirtilen konumdan belirtilen sayıda karakter kopyalamak için kullanılmaktadır. CopyTo metodu kullanılması için bilinmesi gereken4 parametre bulunmaktadır. Bunlar :
metin.CopyTo(başlangıç_indeksi, char_türünde_dizi, hedef_başlangıç_indeksi, kopyalanacak_karakter_sayısı);
string metin="Azkod Dersleri";
char[] karakterler={"c","#","a","z","k","o","d"};
//dizi içerisine veri atarken tek tırnak kullanınız.
metin.CopyTo(6, karakterler, 2, 3);
//kopyalacağı kelime Ders kelimesidir.
Endswith metodu herhangi bir metnin verilen bir karakter veya metin ile bitip bitmediğini kontrol etmek için kullanılmaktadır. String olarak verilen metnin ne ile bitip bitmediğini kontrol etmek için kullanılmaktadır. Geriye boolean değer döndürmektedir. Bu değerlerden:
bool sonuc=metin.EndsWith(kontrol_edilen_karakter_veya_metin);
string isim="Azkod ile Kodlama Dersleri";
string aranan="Dersleri";
bool sonuc=isim.EndsWith(aranan);
if(sonuc==true)
{
Console.WriteLine("İsim adlı değişken aranan değişkeni içerisindeki Dersleri kelimesi ile bitmektedir. ");
}
else
{
Console.WriteLine("İsim adlı değişken aranan değişkeni içerisindeki Dersleri kelimesi ile bitmemektedir. ");
}
Console.ReadLine();
İndexOf metodunun 4 farklı kullanım şekli vardır. Bunlar:
sırasıyla bunların ne işe yaradığı ve kullanım şekilleri hakkında bilgi verelim.
Bilgi: Karakter veya metni ararken dizilerde olduğu gibi indeksin 0'dan başlayarak aradığını unutmayalım.
String ifade içerisinde aranan karakter var ise karakterin bulunduğu ilk indeksi geriye döndürmektedir. Birden fazla aynı karakterden olsa bile ilk bulduğu indeksi döndürmektedir. Eğer aranan karakter metnin içinde bulunmazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.IndexOf(char karakter);
string metin="Azkod ile kodlama dersleri";
int sonuc=metin.IndexOf("k");
Console.WriteLine(sonuc);
String ifade içerisinde aranan metin var ise metnin bulunduğu ilk karakterin indeksini geriye döndürmektedir. Eğer aranan kelime metnin içinde bulunmazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.IndexOf(string aranan_kelime);
string metin="Azkod ile kodlama dersleri";
string aranan="ders";
int sonuc=metin.IndexOf(aranan);
Console.WriteLine(sonuc);
String ifade içerisinde parametre olarak verilen başlangıç sayısından itibaren parametre olan karakteri arayarak geriye bulunan ilk karakterin indeksini döndürmektedir. Eğer aranan karakteri başlangıç sayısından itibaren metin içerisinde bulamazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.IndexOf(char aranan_karakter, int baslangic_sayisi);
string metin="Azkod ile kodlama dersleri";
int sonuc=metin.IndexOf("k",5);
Console.WriteLine(sonuc);
String ifade içerisinde parametre olarak verilen başlangıç sayısından itibaren parametre olarak verilen metni arayarak geriye metni bulduğunda metnin ilk karakter indeksini döndürmektedir. Eğer aranan metni başlangıç sayısından itibaren metin içerisinde bulamazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.IndexOf(string aranan_kelime, int baslangic_sayisi);
string metin="Azkod ile kodlama dersleri";
string aranan="kod"
int sonuc=metin.IndexOf(aranan,4);
Console.WriteLine(sonuc);
İnsert metodunda string ifade de belirtilen başlangıç parametresine yeni metin eklemek için kullanılmaktadır. Geriye string türünde metin eklendikten sonra yeni metni döndürmektedir.
string yeni_metin=metin.Insert(int baslangic_sayisi, string eklenecek_metin);
Örnek:
string "Azkod Dersleri";
string eklenecek="C#";
string yeni_metin=metin.Insert(6,eklenecek);
Console.WriteLine(yeni_metin);
//Ekrana Akod C# Dersleri yazacaktır.
Console.ReadLine();
LastIndexOf metodu IndexOf metoduna benzemektedir. LastIndexOf metodunun 4 farklı kullanım şekli vardır. Bunlar:
sırasıyla bunların ne işe yaradığı ve kullanım şekilleri hakkında bilgi verelim.
Bilgi: Karakter veya metni ararken dizilerde olduğu gibi indeksin 0'dan başlayarak aradığını unutmayalım.
String ifade içerisinde aranan karakter var ise karakterin bulunduğu son indeksi geriye döndürmektedir. Birden fazla aynı karakterden olsa bile son bulduğu indeksi döndürmektedir. Eğer aranan karakter metnin içinde bulunmazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.LastIndexOf(char karakter);
string metin="Azkod ile kodlama dersleri";
int sonuc=metin.LastIndexOf("k");
Console.WriteLine(sonuc);
String ifade içerisinde aranan metin var ise en son bulduğu metnin (aranan kelime ya da cümle birden fazla olursa son bulduğunun) bulunduğu ilk karakterin indeksini geriye döndürmektedir. Eğer aranan kelime metnin içinde bulunmazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.LastIndexOf(string aranan_kelime);
string metin="Azkod ile kodlama dersleri";
string aranan="ders";
int sonuc=metin.LastIndexOf(aranan);
Console.WriteLine(sonuc);
String ifade içerisinde parametre olarak verilen başlangıç sayısından itibaren parametre olan karakteri arayarak geriye bulunan son karakterin indeksini döndürmektedir. Eğer aranan karakteri başlangıç sayısından itibaren metin içerisinde bulamazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.LastIndexOf(char aranan_karakter, int baslangic_sayisi);
string metin="Azkod ile kodlama dersleri";
int sonuc=metin.LastIndexOf("k",5);
Console.WriteLine(sonuc);
String ifade içerisinde parametre olarak verilen başlangıç sayısından itibaren parametre olarak verilen metni arayarak geriye metni bulduğunda (metinde aynısından var ise son bulduğu metnin) metnin ilk karakter indeksini döndürmektedir. Eğer aranan metni başlangıç sayısından itibaren metin içerisinde bulamazsa geriye -1 değeri döndürmektedir.
int sonuc=metin.LastIndexOf(string aranan_kelime, int baslangic_sayisi);
string metin="Azkod ile kodlama dersleri";
string aranan="kod";
int sonuc=metin.LastIndexOf(aranan,4);
Console.WriteLine(sonuc);
PadLeft metodunun 2 farklı kullanım şekli bulunmaktadır. Bunlar:
PadLeft metodunda tam sayı ile değer girdirildiğinde soldan kaç karakter boşluk bırakılacağını belirlemek için kullanılmaktadır. Metin bu şekilde soldan boşluk bırakılarak sağ tarafa yaklaştırılmış olur. String olarak oluşturulan yeni metni geri döndürmektedir.
string yeni_metin=metin.PadLeft(bosluk_sayisi);
string metin="Azkod ile Kodlama Dersleri";
string yeni_metin=metin.PadLeft(5);
Console.WriteLine(yeni_metin);
//Ekrana
// Azkod ile Kodlama Dersleri
//yazacaktır.
Console.ReadLine();
PadLeft metodunun bu kullanımında önceki kullanımda sayısını belirlediğimiz boşluk bırakıyorduk, bu kullanımda ise boşluk yerine verilen karakteri bırakmak için kullanılmaktadır. Yukarıdaki metoddan farkı boşluk yerine belirlediğimiz herhangi bir karakteri kullanmasıdır.
string yeni_metin=metin.PadLeft(int bosluk_sayisi,char karakter);
string metin="Azkod ile Kodlama Dersleri";
char karakter="-";
string yeni_metin=metin.PadLeft(10,karakter);
Console.WriteLine(yeni_metin);
//Ekrana
//----------Azkod ile Kodlama Dersleri
//yazacaktır.
Console.ReadLine();
PadRight metodunun 2 farklı kullanım şekli bulunmaktadır. Bunlar:
PadRight metodunda tam sayı ile değer girdirildiğinde metnin sağından kaç karakter boşluk bırakılacağını belirlemek için kullanılmaktadır. String olarak oluşturulan yeni metni geri döndürmektedir.
string yeni_metin=metin.PadRight(bosluk_sayisi);
string metin="Azkod";
string metin2="ile Dersler";
string y_metin1=metin1.PadRight(15);
Console.WriteLine(y_metin1+metin2);
//Ekrana
// Azkod ile Dersleri
//yazacaktır.
Console.ReadLine();
PadRight metodunun bu kullanımında önceki kullanımda sayısını belirlediğimiz boşluk bırakıyorduk, bu kullanımda ise boşluk yerine verilen karakteri bırakmak için kullanılmaktadır. Yukarıdaki metoddan farkı boşluk yerine belirlediğimiz herhangi bir karakteri kullanmasıdır.
string yeni_metin=metin.PadRight(int bosluk_sayisi,char karakter);
string metin="Azkod ile";
string metin2="C# Dersleri";
char karakter="*";
string yeni_metin=metin1.PadRight(10,karakter);
Console.WriteLine(yeni_metin+metin2);
//Ekrana
//----------Azkod ile**********C# Dersleri
//yazacaktır.
Console.ReadLine();
Remove metodunun iki farklı kullanma yöntemi bulunmaktadır. Bunlar:
Remove metodu, birlikte kullanıldığı string ifadenin kaçıncı indeksinden başlayarak sonuna kadar silmesini istediğimizde bu metot kullanılmaktadır. Örneğin: 5. indeksten başlayarak metnin sonuna kadar siler.
string yeni_metin=metin.Remove(int baslangıç_sayısı)
string metin="Azkod ile kodlama";
string yeni_metin=metin.Remove(5);
Console.WriteLine(yeni_metin);
Console.ReadLine();
Remove metodunun iki parametreli yönteminde birlikte kullanıldığı string ifadenin kaçıncı indeksinden başlayarak kaç adet silmesini istediğimizde bu metot kullanılmaktadır. Örneğin: 5. indeksten başlayarak 3 karakter silme işlemi yapar.
string yeni_metin=metin.Remove(int baslangıç_sayısı, int adet)
string metin="Azkod ile Dersleri";
string yeni_metin=metin.Remove(6,3);
Console.WriteLine(yeni_metin);
//Ekrana Azkod Dersleri yazacaktır.
Console.ReadLine();
Replace metodu değiştirmek demektir. İki farklı kullanım yöntemi bulunmaktadır. Bunlar:
Replace metodunde string metin içindeki eski karakteri bulup yeni karakterle değiştirmek için kullanılmaktadır.
string degistirilmis_metin=Replace(char eski_karakter, char yeni_karakter)
string metin="C#* Dersleri";
string degistirilmis_metin=Replace("*", "");
Console.WriteLine(degistirilmis_metin);
Console.ReadLine();
Replace metodunun bu kullanımında string metin içindeki eski kelime ya da cümleyi bulup yeni kelime yada cümle ile değiştirmek için kullanılmaktadır. Aslında pek bir fark yoktur.
string degistirilmis_metin=Replace(string eski_kelime, string yeni_kelime)
string metin="Merhaba Azkod";
string degistirilmis_metin=Replace("Azkod", "TÜRKİYE");
Console.WriteLine(degistirilmis_metin);
Console.ReadLine();
Split metodu string bir metni belirtilen şarta göre parçalayarak dizi içerisine atmak için kullanılmaktadır. Örneğin: Boşluk olduğunda metin içindeki verileri dizi içerisine at. Bu metot en çok işinize yarayan metotlardan biridir.
string[] dizi_ismi=metin.Split(char karakter);
string metin="Azkod ile programlama dersleri";
string[] dizi=metin.Split(" ");
StartsWith metodu herhangi bir metnin verilen bir karakter veya metin ile başlayıp başlamadığını kontrol etmek için kullanılmaktadır. String olarak verilen metnin ne ile başladığını kontrol etmek için kullanılmaktadır. Geriye boolean değer döndürmektedir. Bu değerlerden:
bool sonuc=metin.StartsWith(kontrol_edilen_karakter_veya_metin);
string isim="Azkod ile Kodlama Dersleri";
string aranan="Azkod";
bool sonuc=isim.StartsWith(aranan);
if(sonuc==true)
{
Console.WriteLine("İsim adlı değişken aranan değişkeni içerisindeki Azkod kelimesi ile başlamaktadır. ");
}
else
{
Console.WriteLine("İsim adlı değişken aranan değişkeni içerisindeki Azkod kelimesi ile başlamamaktadır. ");
}
Console.ReadLine();
Substring metodunun iki farklı kullanım yöntemi bulunmaktadır. Bunlar:
Substring metodunun bu yöntemi belirli bir başlangıç indeksinden itibaren metnin sonuna kadar alır ve yeni bir değişkene atamak için kullanılmaktadır.
string yeni_metin=metin.Substring(int başlangıç_indeksi);
string metin="C# dersleri";
string yeni_metin=metin.Substring(2);
Console.WriteLine(yeni_metin);
//ekrana dersleri yazar.
Console.ReadLine();
Substring metodunun bu yöntemi belirli bir başlangıç indeksinden itibaren belirtilen adet kadar karakter alır ve yeni bir değişkene atamak için kullanılmaktadır.
string yeni_metin=metin.Substring(int başlangıç_indeksi, int adet);
string metin="C# dersleri";
string yeni_metin=metin.Substring(3,4);
Console.WriteLine(yeni_metin);
//ekrana ders yazar.
Console.ReadLine();
Önceki Ders: C# Metotlar | Sonraki Ders: C# Matematiksel Metotlar |