İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp

C# String İşlemleri – Örneklerle Anlatım

C# String İşlemleri – Örneklerle Anlatım
+ - 0

Merhabalar, C# String İşlemleri – Örneklerle Anlatım dersim ile C# eğitim setime devam ediyorum. Bu dersim C# String Üzerindeki İşlemler yazıma ek olarak hazırladığım bir derstir. Bu dersimizde C# String işlemlerini gerçek hayat örnekleri ile anlatmaya çalışacağım.

C# String İşlemleri – Örneklerle Anlatım

Giriş kısmında verdiğim bağlantıdan tüm işlemlere ve açıklamalarına ulaşabilirsiniz. Bu dersimizin içeriği, yukarıdaki bağlantıda verdiğim derste yer alan metotları gerçek hayat örnekleri ile anlatmaya çalışacağım. Bu yüzden tüm metotları işlemeyeceğiz.

C# String İşlemleri olarak İşleyeceğimiz metotlar;

  1. String.Length
  2. String.Trim(), String.TrimStart(), String.TrimEnd()
  3. String.Remove()
  4. String.Replace()
  5. String.Substring()
  6. String.ToUpper(), String.ToLower()
  7. String.Split()
  8. String.Contains()

Şimdi ayrı başlıklar altında işlemleri görelim.

1 – String.Length

Length, komutu bize solundaki değişkenin içerdiği değerin karakter sayısını verir. Dönüş değeri ise INT’tir.

Bu komutu, boş geçilemez alanlar yapmak istediğimizde kullanabiliriz. Örneğin;

 if (textBox1.Text.Length > 0){            }

Textbox1’e girilen verinin karakter sayısını aldık. Textbox1 nesnesine yazılan karakter sayısı 0 ‘dan büyük ise işlemlerimi yaptırabiliriz.

 

2 – String.Trim(), String.TrimStart(), String.TrimEnd()

Trim() metotları, bir string veri içerisindeki boşlukları (space) siler. Bu metodları Length komutu ile birlikte kullabiliriz.

if (textBox1.Text.Trim().Length > 0) { }

Bu şekilde kullandığımızda, boş geçilememesi istediğimiz alanı space boşluğu haricinde bir veri girilmiş olmasını isteyebiliriz. Trim() metodu textbox1’e girilen verideki boşlukları sildikten sonra uzunluğuna bakacaktır.

TrimStart() metodu, sadece string değerin başındaki boşlukları silerken, TrimEnd() metodu ise string değerin sonundaki boşlukları siler.

Bu metotları da, örneğin mail gönderme işlemi için adresi girilmesini istediniz, eğer kullanıcı mailin başında veya sonunda boşluk girer ise mail hatası alırsınız. Bunun önüne geçebilmek için Trim() metotlarını kullanabilirsiniz.

Veya içerisinde boşluk olmasını istemediğiniz herhangi bir string için kullanabilirsiniz.

 

3 – String.Remove()

Remove() metodu, string değer içerisindeki bir parçayı silmenizi sağlar. Bu metot bir overload metottur. Yani iki farklı kullanımı vardır.

İlk kullanımı sadece silinmeye başlayacak index’i belirlersiniz ve string değer, verilen indexten sona kadar siler.

string s = "0123456789";
string s2 = s.Remove(5);
// Çıktı = 01234

kodlarda gördüğünüz gibi 5. indexten itibaren sona kadar siler. 5. index dahildir. Bunu pek kullanacağınızı sanmıyorum.

string s = "0123456789";
string s3 = s.Remove(5,1);
// Çıktı: 012346789

Kodlarda gördüğünüz gibi burada sadece 5. indexte yer alan sayı silindi.

Bu metotları, string içerisinden bir parça silmeniz gerektiğinde kullanabilirsiniz. Şu anda aklıma bir gerçek hayat örneği gelmedi.

 

4 – String.Replace()

Replace() metodu, string değer içerisindeki bir karakteri (birden fazla karakter olabilir) başka bir karakter olarak değiştirmek istediğimizde kullanırız. Bu metot için verebileceğeim en güzel gerçek hayat örneği, metin temizleme işlemi içindir.

Örneğin dışarıdan girilen bir verinin özel karakterler içermesini istemiyorsunuz ya da bir dosya kaydederken dosya adında özel karakterler ve boşluk olmasını istemiyorsunuz. Mesela tüm özel karakterleri ve boşlukları ‘_’ karakteri ile değiştirmek istiyorsunuz. O zaman bu metodu kullanabilirsiniz.

        private void form1_Load(object sender, EventArgs e)
        {
            string dosya_adi = Metin_Temizle(textBox1.Text);
        }
        string Metin_Temizle(string s)
        {
            return s
                .Replace("!", "_")
                .Replace("'", "_")
                .Replace("^", "_")
                .Replace("+", "_")
                .Replace("%", "_")
                .Replace("&", "_")
                .Replace("(", "_")
                .Replace(")", "_");
        }

Yukarıdaki kodlarda gördüğünüz gibi girilebilecek bir takım özel karakterleri ‘_’ karakteri ile değiştirilmesi için bir metot hazırladım. Yukarıdaki gibi yapmak istediğiniz tüm Replace()‘leri ard arda yazabilirsiniz.  Sol taraftaki karakterler, sağ taraftaki karakterler ile değiştirilir. Aynı zamanda sol tarafa da sağ tarafa da değişken yapabilirsiniz.

Örneğin bu değişimleri bir tabloda parametre olarak tuttunuz. Yukarıdaki metodun sol ve tarafına dışarıdan alınan verileri koyabilirsiniz. Yukarıdaki metodumuzu düzenlersek;

        string Metin_Temizle(string s)
        {
            string bunu = "/"; // bunu veri tabanından aldığınız veri olarak düşünün 
            string bunla_degistir = "_";// bunu veri tabanından aldığınız veri olarak düşünün
            return s
                .Replace("!", "_")
                .Replace("'", "_")
                .Replace("^", "_")
                .Replace("+", "_")
                .Replace("%", "_")
                .Replace("&", "_")
                .Replace("(", "_")
                .Replace(")", "_")
                .Replace(bunu, bunla_degistir);
        }

Bu şekilde değişkenler ile de Replace() metodunu kullanabiliriz.

 

5 – String.Substring()

SubString() metodu, bir string değer içerisinden bir parça almamızı sağlar. Bu metodumuz da overload metottur. İki farklı kullanımı vardır.

İlk olarak bir index’ten başlayıp belirli bir karakter kadar almak, ikinci olarak da bir index’ten başlayıp sona kadar almak.

Mesela, bir cari yada stoğu kodlar aracılığı ile takip ediyorsunuz. Kodlarınızda mesela cari için, 120.34.0001 olsun. Buradaki 120 sayısını almak için SubString() metodunu kullanabiliriz.

            string s1 = "120.34.0001";
            string s2 = s1.Substring(0, 3);

Bu şekilde sadece 120 sayısını alabiliriz.

Ya da elinizde string olarak tarih verisi var ve convert işlemleri ile uğraşmak istemiyorsunuz. Bu tarih verisinden de yılı almak istiyorsunuz diyelim.

            string s1 = "22.04.2020";
            string s2 = s1.Substring(6, 4);

Bu şekilde sadece yıl bilgisini alabilirsiniz.

 

6 – String.ToUpper(), String.ToLower()

ToUpper() metodu, string değer içerisindeki tüm harfleri büyük harf yaparken, ToLower() metodu, string değer içerisindeki tüm harfleri küçük harf yapar.

Bu metodunu büyüklü küçüklü harfler girilmesini istemediğiniz yerlerde kullanabilirsiniz. Mesela, projenizde kullanıcı adlarının hep büyük harf kaydedilmesini istiyorsunuz diyelim.

string s3 = txt_kullanici_adi.Text.ToUpper();

Ya da kullanıcı adlarının hep küçük harfler ile kaydedilmesini istiyorsunuz diyelim.

string s3 = txt_kullanici_adi.Text.ToLower();

şeklinde kullanabilirsiniz.

 

7 – String.Split()

Split() metodu, string değeri içerisindeki bir karaktere göre parçalama yapmaya yarar. Geriye bir dizi döner. Split() metodu da overload bir metottur ancak diğer türlerini hiç kullanma ihtiyacı duymadım. O sebeple anlatmayacağım.

SubString() metodundaki cari kodu örneği üzerinden gidelim.

            string s1 = "120.34.0001";
            string[] s2 = s1.Split('.');
            // Çıktı:
            // s2[0] = 120
            // s2[1] = 34
            // s2[2] = 0001

Bu şekilde, elimizdeki cari kodunu nokta ( . ) karakterinden parçalayabiliriz. Split() metodunu kullandığımızda , otomatik olarak parçalanan string değerin, parçalarından oluşan bir dizi elde ederiz.

NOT: Split() metodu parametre olarak Char türünde veri alır. Yani parçalama yaparken birden fazla karaktere göre yap diyemezsiniz. Biliyorsunuz ki C# ‘ta Char türünde veriler tek tırnaklar içerisinde gösterilir.

Buna bir örnek vermem gerekirse;

Diyelim ki bir mail gönderme işlemi yaptınız. Kullanıcı grid üzerinden seçtiği mail adreslerine mail göndertmek istiyorsunuz. Burada gridde seçilen mail adreslerini arka planda for döngüsü ile uç uca ekleyip mail gönderme metoduna parametre olarak vereceksiniz. Burada mail adreslerini uç uça eklerken bir seperatör (ayraç) amacı ile bir karakter kullanmalısınız. Öyle bir karakter olmalı ki mail adresi alınırken kullanılamayan bir karakter olmalı.

Mail gönderme işlemini yaparken, mailleri yukarıdaki gibi belirleyip mailler arasına eklediğiniz ayraç ile parçaladınız ve for döngüsüne eklediniz. Mail gönderme işlemlerini dizi içerisindeki maillere tek tek gönderdiniz.

 for (int i = 0; i < mailler.Count(); i++)
            {
                string mail_adres = s2[i];
                // mail gönderme kodları.
            }

 

8 – String.Contains()

Contains() metodu, bir tür string değer içerisinde arama yapmaya yarar. Parametre olarak verilen değerin, solundaki string değer içerisinde var mı yok mu sorusuna cevap verir. Yani sonuç olarak Boolean türünde değer döner.

Bu metodu çok fazla kullanmıyorum. Bu zamana kadar 3 ya da 4 kere kullanmışımdır ama kullananı çok fazla görüyorum. Şöyle bir kullanım örneği verebilirim. Diyelim ki mail gönderme kodlarınız sadece hotmail ve gmail ile çalışıyor. Diğer e-posta sunucularını kullanmak istemiyorsunuz.

Dışarıdan girilebilecek mail adreslerinin de sadece gmail ve hotmail domain’ine ait olup olmadığını kontrol etmek istiyorsunuz. O halde kodlarınızı şöyle yazabilirsiniz.

            // NOT: İf varsayılan olarak True olup olmadığını kontrol eder.
            // Yani == True yazmaya gerek yoktur.
            if (mail.Contains("gmail")) 
            {
                // ok
            }
            else if (mail.Contains("hotmail"))
            {
                // ok
            }
            else
            {
                MessageBox.Show("Sadece gmail ve hotmail mail adresleri kabul edilmektedir.");
            }

Yukarıda gördüğünüz gibi mail adlı değişken içerisinde “gmail” veya “hotmail” var ise işlemlerimizi yapabilsin yok ise yapamasın ve uyarı çıksın şeklinde kontrollerimizi yaptık.

 

C# String İşlemleri – Örneklerle Anlatım

Yukarıda anlattığım metotlar en çok kullandığım metotlardır. Giriş kısmında verdiğim bağlantıdaki metotların hepsini bilsem de hepsini kullanma ihtiyacı duymuyorum. Ayrıca o dersimde sadece metotlar hakkında genel bilgileri vermiştim. Bu dersimde en çok kullandığım metotları gerçek hayat örnekleri üzerinden anlatmaya çalıştım.

 


C# String İşlemleri – Örneklerle Anlatım yazımda bu kadardı arkadaşlar.

Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…  Bu dersi gerekli görmediğim için Github projeme eklemedim. Çünkü bir işlemi anlatmak için değil bilgi ve tavsiyeler vermek için yazdım.

Sağlıcakla ve takipte kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)