C# String İşlemleri

  • 166
  • (1)
  • (5)
  • 09 Haz 2017

Hemen hemen her programda metin bazlı işlemler önem arzetmektedir. C# .NET kütüphanesinde string veri türüne ait çeşitli işlevsel metotlar bulunmaktadır.

String Birleştirme

Metinleri birleştirmek için çeşitli yöntemlerden birini kullanabilirsiniz.

İki veya daha fazla metni + operatörü ile birleştirebilirsiniz.

    
string firstName = "Sami", middleName = "Erhan", lastName = "Yılmaz";
string fullName = firstName + " " + middleName + " " + lastName; // Sonuç "Sami Yusuf Yılmaz"

String.Join metodu ile tek bir birleştirme ayracı ile birleştirebilirsiniz. Bu metodun ilk parametresi birleşen metinlerin arasına gelecek olan ayraç metnidir. Kalan sınırsız sayıda parametreler birleşecek metinlerdir. Bu parametreler tek bir dizi yani string[] olarak da kullanabilirsiniz.

    
string firstName = "Sami", middleName = "Erhan", lastName = "Yılmaz";
string fullName = String.Join(" ", firstName, middleName, lastName); // Sonuç "Sami Yusuf Yılmaz"
string sepNames = String.Join("-", firstName, middleName, lastName); // Sonuç "Sami-Yusuf-Yılmaz"

String.Format metodu ile diğer metinleri tek bir metnin içerisine yerleştirebilirsiniz.

    
string firstName = "Sami", middleName = "Erhan", lastName = "Yılmaz";
string fullName = String.Format("{0} {1} {2}", firstName, middleName, lastName);

C# 6.0 sürümü ile $ operatörünü string değişkenleri içerisine yerleştirme yapmak için kullanabilmektesiniz.

    
string firstName = "Sami", middleName = "Erhan", lastName = "Yılmaz";
string fullName = $"{firstName} {middleName} {lastName}";

String formatları

String.Format metodu ile metnin içerisine int, short, double gibi diğer değişken türlerini de çeşitli formatlarda yazabilmektesiniz.

    
int a = 15, b = 3;
string result = String.Format("{0} ve {1}", a, b); // Sonuç "15 ve 3"
string result = String.Format("{0:D4} ve {1:D6}", a, b); // Sonuç "0015 ve 000003"
string result = String.Format("{0:N2} ve {1:N3}", a, b); // Sonuç "15,00 ve 3,000"

Yukarıdaki int değişkenlerini string değişken türüne formatlı bir biçimde dönüştürebilirsiniz.

    
int a = 15, b = 3;
string result = String.Format("{0} ve {1}", a, b); // Sonuç "15 ve 3"
string result = String.Format("{0} ve {1}", a.ToString("D4"), b.ToString("D6")); // Sonuç "0015 ve 000003"
string result = String.Format("{0} ve {1}", a.ToString("N2"), b.ToString("N3")); // Sonuç "15,00 ve 3,000"

Ondalık sayılar için çeşitli format türleri mevcuttur.

    
double a = 3.1415, b = 0.14;
string result = String.Format("{0:E}", a); // Sonuç "3.141500E+000"
string result = String.Format("{0}", a.ToString("E")); // Sonuç "3.141500E+000"
string result2 = String.Format("{0:P2}", b); // Sonuç "%14,00"

Metni Başından veya Sonundan Kırpma

String.Substring metodu ile metinleri istediğiniz gibi kırpabilirsiniz.

    
string metin;
metin = "Bu metin kırpılarak değiştirilecek";
Console.WriteLine(metin.Substring(5)); // İlk beş karakterden sonrası tamamen alınır: "tin kırpılarak değiştirilecek"
Console.WriteLine(metin.Substring(5, 10)); // İlk beş karakterden sonraki on karakter alınır: "tin kırpıl"
Console.WriteLine(metin.Substring(metin.Length - 5, 5)); // Son beş karakter alınır: "lecek"

string veri türünün Length özelliği metnin karakter uzunluğunu int olarak veren bir özelliktir.

Metnin Karakterleri

string türündeki bir metin değişkeninin her bir karakteri char türündedir. C# dilinde [] parantezleriyle kullanılan indis operatörüyle bu karakterler kullanılabilir.

    
string metin;
metin = "Bu metin kırpılarak değiştirilecek";
Console.WriteLine(metin[0]); // Metnin 0 indisli yani ilk karakteri 'B' yazılır
Console.WriteLine(metin[7]); // Metnin 7 indisli yani sekizinci karakteri 'n' yazılır
char ch10 = metin[10]; // Metnin 10 indisli karakteri ch10 diye bir değişkene atanır
Console.WriteLine(ch10); // ch10 değişkeni yazılır. 'ı'

Metnin indis numarasına göre karakterleri de okunabilmektedir. IndexOf metodu ile bu metoda yazılan int türündeki parametre ile karakter okunur. Metodun geri dönüş türü char değişken türüdür.

    
string metin;
metin = "Bu metin kırpılarak değiştirilecek";
Console.WriteLine(metin.IndexOf('m')); // İlk 'm' karakteri 3 olarak yazılır
Console.WriteLine(metin.IndexOf('a')); // İlk 'a' karakteri 15 olarak yazılır
Console.WriteLine(metin.IndexOf(' ')); // İlk ' ' (boşluk) karakteri 2 olarak yazılır
Console.WriteLine(metin.IndexOf('z')); // İlk 'z' karakteri metnin içinde bulunmadığı için -1 olarak yazılır

LastIndexOf metodu ise sondan başlayarak bir karakterin indisini vermektedir.

    
string metin;
metin = "Bu metin kırpılarak değiştirilecek";
Console.WriteLine(metin.LastIndexOf('e'));
Console.WriteLine(metin.IndexOf('e'));

Kaçış Sekansları (Özel Karakterler)

Metin içerisinde tab boşluğu, yeni satır, tırnak gibi karakterleri belirtmek için kullanılan ifadelere kaçış sekansları denmektedir. Örneğin metin içerisinde yeni satır belirtmek için aşağıdaki gibi bir kod kullanılır.

    
Console.WriteLine("Satır 1\nSatır 2");
// Satır 1 den sonra
// Satır 2 yeni satıra yazılacaktır

  • \' - Tek tırnak
  • \" - Çift tırnak
  • \\ - \ işaretinin kendisi
  • \n - Yeni satır
  • \t - Tab boşluğu
  • \b - Backspace
  • \v - Düşey boşluk
  • \uxxxx - 16 tabanlı xxxx unicode karakteri
İlişkili İçerikler

C# programlama dilinde kullanılan değişken türleri ve bu türlerde tanımlanmış verilerin nasıl kullanılabileceğini bu içerikte öğrenebilirsiniz.

Paylaşın
Etiket Bulutu