C# Metinsel (String) Metotlar

HAZIR METOTLAR

Programlama dili kütüphaneleri içerisinde önceden tanımlanmış ve programcıların işlerini kolaylaştıran bir takım hazır metotlar vardır.

Compare( ):

Parametre olarak verilen iki string ifadeyi karşılaştırır ve geriye int türünde bir veri döndürür. Eğer dönüş değeri sıfır (0) ise iki metin birbirine eşittir. Aksi takdirde parametre olarak verilen metinleri ilk harflerinden itibaren tek tek karşılaştırır ve farklılığın olduğu ilk harflerin alfabedeki sıralarına göre -1 veya 1 sayı değerlerini döndürür.

Kullanımı:

int donusDegeri=String.Compare(metin1,metin2);

Örnek 1: Klavyeden girilen iki metnin karşılaştırılmasını yapan programın kodlarını yazınız.

Console.Write(“1. metni giriniz: “);

string metin1 = Console.ReadLine();

Console.Write(“2. metni giriniz: “);

string metin2 = Console.ReadLine();

int donusDegeri = String.Compare(metin1, metin2);

 

Not: Eğer metin karşılaştırmalarında büyük/küçük harfe dikkat edilsin istemiyorsak;

Compare( ) metodunun bir başka kullanımı olan Compare(metin1,metin2,boolean) formunu kullanmamız gerekir.

Kullanımı:

bool buyukKucuk=true;

int donusDegeri=String.Compare(metin1,metin2,buyukKucuk);

 

Burada bool türündeki değişkenin değeri true ise Compare( ) metodu büyük/küçük

harfe bakmasızın iki kelimeyi karşılaştırır. Eğer false değeri gönderilirse, bu durumda

karşılaştırma işlemini büyük/küçük harfe biçimde gerçekleştirir

2 Concat( )

Parametre olarak verilen nesneleri string türünde birbirine peşi sıra ekler ve geriye

string türünde bir değer döndüren String metodudur.

Kullanımı:

string donenMetin=String.Concat(parametre-listesi);

Örnek 2: Klavyeden girilen iki metni birleştiren programın kodlarını yazınız.

Console.Write(“1. metni giriniz: “);

string metin1 = Console.ReadLine();

Console.Write(“2. metni giriniz: “);

string metin2 = Console.ReadLine();

string birlestirilen = String.Concat(metin1, metin2);

Console.WriteLine(“{0} ve {1} kelimelerinin birleştirilmiş hali: {2}”,metin1,metin2,birlestirilen);

 

String.Concat( ) ile farklı türlerdeki verileri de birleştirme şansımız vardır. Aşağıdaki örnekte hem metin, hem sayı, hem de boolean türündeki verileri birleştirip, geriye string türünde bir veri elde etme işlemini inceleyeceğiz.

3-Copy( )

Parametre olarak verilen string türündeki metnin bir kopyasını almaya yarayan String metodudur.

Kullanımı:

string kopyaMetin=String.Copy(metin);

Örnek 0-5: Bir metinin kopyasını alan programı yazınız.

string metin = “Tavşanlı”;

string kopyaMetin=String.Copy(metin);

Console.WriteLine(“{0} metninin kopyası :{1}”, metin,kopyaMetin );

 

 

4-Format( )

Programlama esnasında bazı ifadeleri belirli bir biçim içerisinde yazmamız istenirse

String.Format( ) metodu kullanılır.

Bu metot geriye string türünde bir veri döndürür.

Örneğin metinsel ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;

Yukarıdaki resmi incelediğimizde String.Format( ) metodunun kullanımında, küme parantezleri ( { } ) içerisindeki ilk değer, degisken isimli değişken içerisindeki değeri referans göstermektedir. İkinci değer ise değişkenin içeriğinin, ekranda kaç karakterlik alan kaplayacağını (Örn: Bu değer 5 ise ekranda 6 karakterlik, -7 ise 8 karakterlik yer kaplar) belirtir.

Bu değerin pozitif olması, değişken değerinin ayrılan alanının sağına hizalı olacağını, negatif olması ise soluna hizalı olacağını belirler.

Örnek :Sıra No, Adınız, Soyadınız şeklinde başlıkları olan ve içeriği dolu olan bir tablo hazırlayıp, ekrana yazdırınız.

Console.WriteLine(“——————————-“);

Console.WriteLine(“Sıra No | Adınız | Soyad”);

Console.WriteLine(“——————————-“);

Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 1,

“Remzi”, “ERTÜRK”));

Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 2,

“Tevfik”, “ULUÇ”));

Console.WriteLine(String.Format(“{0,7} | {1,-8} | {2,10}”, 3,

“Yücel”, “CAN”));

Console.WriteLine(“——————————-“);

 

Örneğin int türündeki sayısal ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;

String.Format(“{0:00000}”, 15); // “00015″

ifadesiyle 15 sayısı ekrana başına 3 adet 0 eklenerek toplamda 5 karakter olarak yazılır.

 

String.Format(“{0,5}”, 15); // ” 15″

ifadesiyle 15 sayısı ekrana başına 3 adet boşluk eklenerek toplamda 5 karakterlik bir alana sağa hizalı olarak yazılır.

String.Format( ) metodunun sıfır ve negatif sayılar için özel formları vardır. Sayılar biçimlenirken kullanılan noktalı virgül (;) ile formatı 3 bölüme ayırırız. Buradaki ilk bölüm sayının değerini, ikinci bölüm negatif sayıların biçimini, üçüncü bölüm ise sıfırın ekrana nasıl yazılacağının biçimini belirlememize yardımcı olur.

String.Format(“{0:#;eksi #}”, 15); // “15″

String.Format(“{0:#;eksi #}”, -15); // “eksi 15″

String.Format(“{0:#;eksi #;Sıfır}”, 0); // “Sıfır”

Sayıları isteğe bağlı biçimlendirmek istersek (örneğin bir telefon numarasını

alan kodu ve telefon numarası ayrı ayrı yazılsın istiyorsak), biçimlendirme

işleminde diyez (#) işareti ile formatımızı belirleriz;

String.Format(“{0:### ## ##}”, 1234567); // 123 45 67

String.Format(“{0:(#) ###-##-##}”, 12345678); //(1) 234-56-78

Örneğin tarih/saat türündeki ifadelerin belirli bir biçim içerisinde ekranda yazılmasını istiyorsak;

Tarih/Zaman ifadelerini belirtmek için önceden belirlenmiş bazı anahtar harfler vardır.

Bunlar;

y: Yıl,M: Ay, d: Gün,

h: 12’lik sistemde saat, H: 24’lük sistemde saat m: Dakika

s: Saniye f: Salise z: Zaman dilimi

Örnek : 14.02.2006 18:05:07.123 zamanına ait değerlerin gösterimleri şu şekilde sağlanır;

DateTime dt = new DateTime(2006, 2, 3, 18, 5, 7, 123);

Console.WriteLine(“Tarih:”+dt);

Console.WriteLine(“————————-“);

Console.WriteLine(“Yıl gösterimleri:

“+String.Format(“{0:y yy yyy yyyy}”, dt));

Console.WriteLine(“Ay gösterimleri: ” +

String.Format(“{0:M MM MMM MMMM}”, dt));

Console.WriteLine(“Gün gösterimleri: ” +

String.Format(“{0:d dd ddd dddd}”, dt));

Console.WriteLine(“Saat gösterimleri: ” +

String.Format(“{0:h hh H HH}”, dt));

Console.WriteLine(“Dakika gösterimleri: ” +

String.Format(“{0:m mm}”, dt));

Console.WriteLine(“Saniye gösterimleri: ” +

String.Format(“{0:s ss}”, dt));

Console.WriteLine(“Salise gösterimleri: ” +

String.Format(“{0:f ff fff ffff}”, dt));

Console.WriteLine(“Zaman dilimi gösterimleri: ” +

String.Format(“{0:z zz zzz}”, dt));

 

IsNullOrEmpty( )

Parametre olarak verilen string türündeki değişkenin içeriğinin boş mu olduğunu

kontrol eden metottur. Eğer değişkenin içeriği boşsa geriye bool türünde true değeri

döndürür. Eğer değişkene herhangi bir değer ataması yapılmışsa geriye false değerini

döndürür.

 

Kullanımı:

string metin=””;

bool sonuc=String.IsNullOrEmpty(metin);

Örnek: Kullanıcı adı ve şifre girişi yapılan bir giriş ekranında kullanıcı adı veya şifre boş girilirse uyarı veren, boş girilmemişse girilen değerleri ekrana yazdıran programın kodlarını yazınız.

 
Console.Write(“Kullanıcı adınızı giriniz: “);

string kullaniciAdi = Console.ReadLine();

Console.Write(“Şifrenizi giriniz: “);

string sifre = Console.ReadLine();

bool kaBosmu=String.IsNullOrEmpty(kullaniciAdi);

bool sfrBosmu=String.IsNullOrEmpty(sifre);

if(kaBosmu==true)

Console.WriteLine(“Kullanıcı adını boş geçemezsiniz.”);

else

Console.WriteLine(“Girmiş olduğunuz kullanıcı adı:” +

kullaniciAdi);

if (sfrBosmu == true)

Console.WriteLine(“Şifreyi boş geçemezsiniz.”);

else

Console.WriteLine(“Girmiş olduğunuz şifre:” + sifre);

 

CompareTo ( )

Çağrıldığı string ifade ile parametre olarak verilen string ifadeyi karşılaştırır ve iki ifade de birbirine eşitse geriye int türünde sıfır (0) değerini döndürür. Aksi takdirde metinleri ilk harflerinden itibaren tek tek karşılaştırır ve farklılığın olduğu ilk harflerin alfabedeki sıralarına göre -1 veya 1 sayı değerlerini döndürür.

 

Kullanımı ve çalışma prensibi daha önce gördüğümüz String.Compare( ) metoduyla hemen hemen aynıdır.

 

Kullanımı:

int donusDegeri=metin1.CompareTo(metin2);

Aşağıdaki tabloda metinlerin karşılaştırma durumları ve geri dönüş değerleri verilmektedir;

Contains( )

Birlikte çağrıldığı metinsel ifade içerisinde parametre olarak verilen char türündeki

karakteri veya yine parametre olarak verilen string türündeki metinsel ifadeyi arar ve geriye

bool türünde bir değer döndürür.

Kullanımı:

Metinsel ifade içerisinde karakter arama;

char karakter= “;

bool donusDegeri=metin1.CompareTo(karakter);

Metinsel ifade içerisinde string arama;

string aranan= “”;

bool donusDegeri=metin1.CompareTo(aranan);

Örnek : Klavyeden girilen metin içerisinde, yine klavyeden girilen bir metni arayan programın kodlarını yazınız.

Console.Write(“Metin giriniz: “);

string ifade = Console.ReadLine();

Console.Write(“Aranan metni giriniz: “);

string aranan = Console.ReadLine();

if (ifade.Contains(aranan))

Console.WriteLine(“({0}) ifadesi içerisinde ({1}) kelimesi mevcuttur.”, ifade, aranan);

else

Console.WriteLine(“({0}) ifadesi içerisinde ({1}) kelimesi yoktur.”, ifade, aranan);

 

 

 

CopyTo( )

Bu metot kaynakBaslangicIndexi (int türünde), hedefDizisi (char dizisi türünde),

hedefBaslangicIndexi (int türünde) ve miktar (int türünde) olmak üzere 4 parametre alır.

Birlikte çağrıldığı metinsel ifadenin;

– Parametre olarak verilen int türündeki kaynak başlangıç indeksinden itibaren,

– Parametre olarak verilen char[] dizisinin içerisine,

– Parametre olarak verilen hedef başlangıç indeksinden itibaren,

– Parametre olarak verilen sayıda karakteri kopyalamaya yarayan metottur.

Kullanımı:

string metin1= “”;

char[] hedefDizisi={,,,,,} ;

int kayBasInd, hedBasInd, adet;

metin1.CopyTo(kayBasInd,hedefDizisi,hedBasInd,adet);

 

Örnek : Klavyeden girilen 10 harfli bir metnin içeriğini 2.karakterinden başlayarak 5 karakterini hedefDizi isimli char türündeki 10 elemanlı bir dizinin 3.elemanından başlayarak kopyalayınız. hedefDizi isimli dizinin içeriğini kopyalamadan önce ve sonra ekrana yazdırarak değişimi gözlemleyiniz.

 

Console.Write(“Metin giriniz: “);

string metin = Console.ReadLine();

int i = 0;

char[] hedefDizi={‘a’,’b’,’c’,’d’,’e’,’f’,’g’,’h’,’i’,’j’};

Console.WriteLine(“Dizinin kopyalamadan önceki içeriği”);

foreach (char harf in hedefDizi)

{

Console.WriteLine(“hedefDizi[{0}]: {1}”, i, harf);

i++;

}

metin.CopyTo(1, hedefDizi, 2, 5);

Console.WriteLine(“Dizinin kopyalamadan sonraki içeriği”);

i = 0;

foreach (char harf in hedefDizi)

{

Console.WriteLine(“hedefDizi[{0}]: {1}”, i, harf);

i++;

}

 

 

Yukarıdaki kod parçası çalıştırıldığında ve klavyeden “1234567890” verisi girilerek

çalıştırıldığında aşağıdaki gibi bir ekran çıktısı ile karşılaşırız;

EndsWith( )c#replace,

Birlikte çağrıldığı metinsel ifade parametre olarak verilen string türündeki ifade ile bitip bitmediğini kontrol eden metottur. Geriye bool türünde bir değer döndürür. Eğer metin parametre olarak verilen ifade ile bitiyorsa geriye true değerini döndürür. Eğer metin parametre olarak verilen ifade ile bitmiyorsa geriye false değerini döndürür.

Kullanımı:

metin.EndsWith(ifade);

Remove (int deger,int adet)

Birlikte çağrıldığı metnin, parametre olarak verilen değerinin bulunduğu indeks

değerinden itibaren yine parametre olarak verilen adet kadar olan kısmını siler. Silinme işleminden arta kalan metni geriye döndürür.

Kullanımı:

string yeniMetin=metin.PadRight(int deger,int adet);

 

 

 

Örnek: Remove(int deger,int adet) metodunun kullanımı;

 
string metin = “Bilişim Teknolojileri”;

Console.WriteLine(metin.Remove(3, 2));

 

Çıktısı: Bilim Teknolojileri Bilim Teknolojileri

 

Replace (string eski, string yeni)

Replace metodunun bir önceki kullanımından farkı parametre olarak bu kez char türünde karakterler yeni string türünde metinsel ifade almasıdır.

Kullanımı:

string yeniMetin=metin.Replace(string eski, string yeni);

Örnek 0-31: Replace(int deger,int adet) metodunun kullanımı;

 
string metin = “Bilişim Teknolojileri”;

Console.WriteLine(“Değiştirilen: “+metin.Replace(“Bilişim”, “Metal”));

Console.WriteLine(“Değişimden sonra: “+metin); Replace (char eski, char yeni)

 

Birlikte çağrıldığı metin içerisinde, ilk parametredeki karakterleri, ikinci

parametredeki karakter değerleriyle değiştiren metottur. Geriye değiştirme işleminin gerçekleştirildiği string türünde bir ifade döndürür

Split ( )

Split( ) metodu, çağrıldığı metni istenilen karakterden itibaren parçalara bölmek için

kullanılan bir metottur. Eğer istenilen karakter mevcut metin ifadesi içerisinde yer alıyorsa,

Split( ) metodu metni karakterlerden öncesi ve sonrası şeklinde parçalara ayırır ve bu

parçaları string türünde bir dizi içerisinde saklar. Geriye de bu string[] türündeki diziyi döndürür.

Kullanımı:

string[] dizi=metin.Split(char karakter);

Substring (int indeks)

Birlikte çağrıldığı metni parametre olarak verilen indeks değerinden itibaren keser ve

arta kalan metni geriye string türünde döndüren metottur.

Kullanımı:

string yeniMetin=metin.Substring(int indeks);

Örnek : Substring(int indeks) metodunun kullanımı;

 
string metin = “Bilişim Teknolojileri”;

Console.WriteLine(metin.Substring(3)); //işim Teknolojileri

 


Substring (int indeks, int uzunluk)

Substring metodunun bu kullanımında ise ilk parametre indeks değerini, ikinci

parametre ise kaç karakter uzunluğunda bir metnin kesileceğini belirtir.

Kullanımı:

string yeniMetin=metin.Substring(int indeks,int uzunluk);

Örnek : Substring (int indeks, int uzunluk) metodunun kullanımı;

 
string metin = “Bilişim Teknolojileri”;

Console.WriteLine(metin.Substring(3,4)); //işim

 

ToLower ( )

Birlikte çağrıldığı metninin tüm karakterlerini küçük harfe dönüştürerek yeni bir metin

geriye döndürür.

Kullanımı:

string yeniMetin=metin.ToLower();

Örnek : ToLower() metodunun kullanımı;

 
string metin = “Bilişim Teknolojileri”;

Console.WriteLine(metin.ToLower()); //bilişim teknolojileri

 

ToUpper ( )

ToLower( ) metodunun tam tersi şeklinde çalışır ve birlikte çağrıldığı metninin tüm

karakterlerini büyük harfe dönüştürerek yeni bir metin geriye döndürür.

Kullanımı:

string yeniMetin=metin.ToUpper();

Örnek : ToUpper() metodunun kullanımı;

string metin = “Bilişim Teknolojileri”;
Console.WriteLine(metin.ToUpper()); //BİLİŞİM TEKNOLOJİLERİ

 

 

Paylaştıkça Artan Tat...