C# Boşlukları Silme

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde bir cümledeki boşlukları silmeyi anlatacağım. Hazırsak başlayalım.
Table of Contents
Kullanıcıdan Veri Alma
C# gibi güçlü bir dilde yapmak istediğiniz bir işlemin birden çok yolu bulunuyor ve siz hangisini kullanmak istiyorsanız onu kullanabiliyorsunuz. Bende bu konuda aklıma gelen yöntemleri sırasıyla anlatacağım, siz artık istediğinizi seçersiniz 🙂 Öncelikle kullanıcıdan bir metin alalım ve anlatacağım yöntemlerde bunun üzerinden gidelim.
Console.Write("Metin Giriniz: ");
string metin = Console.ReadLine();
1. Yöntem: Döngü İle Yapma
C# dilinde her string aslında bir char dizisidir ve bu yüzden bir stringi döngü ile dönebiliriz. Döngü ile dönerken her bir karakterin boşluk olup olmadığını kontrol edersek ve boşluk olmayan her karakteri bir araya toplarsak yapmak istediğimiz işlemi yapmış oluruz. Yani kodumuz şöyle olacaktır;
string sonuc = null;
for(int i = 0; i < metin.Length; i++)
{
if(metin[i] != ' ')
{
sonuc += metin[i];
}
}
Console.WriteLine(sonuc);
Evet bu kodu yazıp çalıştırdığınızda öncelikle metin gireceksiniz ve sonrasında girdiğiniz metnin boşlukları silinmiş halinin ekrana basıldığını göreceksiniz.
2. Yöntem: Boşluklardan Kesme
Metni boşluk karakterlerinden keserek boşluksuz olarak birleştirebiliriz. Metni kesmek için string fonksiyonlarından Split(), birleştirme içinde Join() fonksiyonunu kullanabiliriz.
Split fonksiyonuna string değişken üzerinden erişilebiliyorken, Join fonksiyonu static tipte olduğu için string.Join() şeklinde erişebiliyoruz. Split() fonksiyonu metni kesmek istediğimiz char tipte karakteri; Join() fonksiyonu ise string tipte birleştirme metni ve birleştirilecek dizi olmak üzere 2 parametreistiyor. Yani Join() fonksiyonu ikinci parametrede verdiğimiz dizinin her bir elemanının arasına birinci parametrede gönderdiğimiz değeri koyarak birleştirecektir. Biz hiçbirşey gelmesin istediğimiz için boş string gönderebiliriz.
Yani kodumuz şöyle olacaktır;
string sonuc = string.Join("", metin.Split(' '));
Console.WriteLine(sonuc);
3. Yöntem: Boşluklardan Kesme
2. yöntemde yaptığımız işlemi manuel olarak yapabiliriz. Yani dışarıdan aldığımız metni boşluklarından kesip diziye çevirir ve sonrasında döngü ile dönerek her birini birleştirebiliriz. String parçalama için yine Split() fonksiyonunu kullanacağız. Kodumuzu şöyle yazalım;
string sonuc = null;
string[] dizi = metin.Split(' ');
foreach(string item in dizi)
sonuc += item;
Console.WriteLine(sonuc);
Ben foreach döngüsü kullandım ama siz isterseniz for döngüsüde kullanabilirsiniz.
4. Yöntem: Hazır Fonksiyon Kullanma
C#’ın kendi hazır fonksiyonunu kullanmak. Bu fonksiyonun adı ise Replace(). Bu fonksiyon aranan değer ve yerine gelecek değer olmak üzere 2 parametre istiyor ve bu parametrelerin her ikisinin string olabileceği gibi her ikisi char tipinde de olabiliyor. Fonksiyon sonucunda da yer değiştirilmiş halini geriye döndürüyor. Biz hem string hemde char olarak kullanalım ve kodumuzu yazalım.
string sonuc1 = metin.Replace(" ", "");
string sonuc2 = metin.Replace(' ', '\0');
Console.WriteLine('sonuç1: ' + sonuc1);
Console.WriteLine('sonuç2: ' + sonuc2);
İki parametreyi de string olarak gönderip sonuc1 değişkenine atadığımız satırda (1. satır) sorun yok fakat iki parametreyi char olarak gönderdiğimiz ikinci satırda ikinci parametre olarak \0 gönderdik.
Eveett birbirinden farklı 4 yöntem gösterdim ve yazının başında dediğim gibi, istediğinizi seçip kullanmakta özgürsünüz fakat ben olsam son yöntemi kullanırdım 🙂