C#
Split ve Join
Split ile bölüp Join ile birleştirmeyi öğrenirsin.
Split ile bölme
Split metodu bir dizeyi belirli bir ayraç karakterine göre parçalar ve sonucu bir dize dizisi olarak döndürür. Virgülle ayrılmış değerleri, boşlukla ayrılmış kelimeleri ya da noktayla ayrılmış cümleleri işlemek için idealdir.
Örneğin "ayse,mehmet,zeynep".Split(',') çağrısı üç elemanlı bir dizi verir. Ayraç karakteri sonuçlara dahil edilmez. Dönen değer string[] olduğu için foreach ile dolaşabilirsin.
Join ile birleştirme
string.Join metodu, bir dize dizisini (ya da listesini) belirli bir ayraçla tek bir dizeye birleştirir. Split'in tersidir: parçaları alıp aralarına ayraç koyar. İlk parametre ayraç, ikinci parametre ise dizidir.
Örnek: string.Join("-", new[] { "a", "b", "c" }) çağrısı "a-b-c" döndürür. Dosya yolu, tarih biçimi ya da CSV satırı oluşturmak için sıkça kullanılır.
Boş girişleri kaldırmak
Split varsayılan olarak ardışık ayraçları boş dize olarak listeye dahil eder. Bunu önlemek için StringSplitOptions.RemoveEmptyEntries seçeneğini kullanırsın; böylece boş parçalar sonuçtan çıkarılır.
Örnek: "a,,b".Split(',', StringSplitOptions.RemoveEmptyEntries) çağrısı yalnızca iki eleman verir. Kullanıcının fazladan boşluk bıraktığı girişlerde bu seçenek temiz bir dizi elde etmeni sağlar.
Uygulama İsimleri böl ve tireyle birleştir
names değişkenindeki virgülle ayrılmış isimleri Split ile parts adlı bir diziye böl. Sonra string.Join ile bu diziyi tire ("-") ayracıyla result değişkenine birleştir ve Console.WriteLine ile yazdır.
Örnek çözümü göster
Önce parts = names.Split(','); ile böl, sonra result = string.Join("-", parts); ile birleştir ve Console.WriteLine ile yazdır.
Örnek çözüm:
using System;
class Program
{
static void Main()
{
string names = "ayse,mehmet,zeynep";
string[] parts = names.Split(',');
string result = string.Join("-", parts);
Console.WriteLine(result);
}
}
Kendini test et
-
Split ne döndürür?
string[] parts = "a-b-c".Split('-');
- tek bir dize
- string[]
- List<string>
- char[]
Cevabı göster
char[] — Doğru! Split char[] parametre alır ama geriye string[] döndürür.
-
Diziyi tireyle birleştir
string[] parts = { "a", "b", "c" };
string joined = string____;
Console.WriteLine(joined);
Cevabı göster
string[] parts = { "a", "b", "c" };
string joined = string.Join("-", parts);
Console.WriteLine(joined);
-
Çağrıyı sonucuyla eşleştir
- "a,b,c".Split(',')
- 3 eleman
- "a-b-c".Split('-').Length
- 3
- string.Join(",", new[] {"x","y"})
- "x,y"
Sıradaki ders: Trim ve Pad