Data teks sering datang dalam satu baris panjang: catatan penjualan dipisah titik koma, daftar belanja dipisah koma, atau baris log berisi beberapa kolom sekaligus. Untuk memprosesnya, kita memecah string menjadi potongan-potongan terlebih dahulu. Arah sebaliknya juga dibutuhkan, misalnya saat menyusun laporan dari banyak nilai, dan kelas string menyediakan method untuk kedua arah tersebut.
Memecah String dengan Split #
Method Split menerima pemisah (separator) dan mengembalikan array string. Setiap elemen array berisi satu bagian teks yang berada di antara dua pemisah:
string baris = "Budi;Nasi goreng;15000";
string[] kolom = baris.Split(';');
Console.WriteLine(kolom.Length);
Console.WriteLine(kolom[0]);
Console.WriteLine(kolom[1]);
Console.WriteLine(kolom[2]);Output yang Dihasilkan:
3
Budi
Nasi goreng
15000Mari kita telaah baris demi baris:
- Baris 3 (
baris.Split(';')): Karakter;dipakai sebagai pemisah, dan runtime mengembalikan array berisi tiga bagian teks. - Baris 4: Properti
Lengthpada hasil melaporkan jumlah potongan, yaitu3. - Baris 5-7: Setiap potongan bisa diakses lewat indeks seperti array biasa: nama pembeli, nama menu, dan harga.
Opsi Pembersihan Hasil Split #
Data nyata sering memuat pemisah berlebihan atau spasi tak sengaja. Opsi RemoveEmptyEntries membuang potongan kosong, dan TrimEntries memangkas spasi di awal serta akhir tiap potongan:
string daftar = "susu, telur, , gula, kopi";
string[] item = daftar.Split(
',',
StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
Console.WriteLine(string.Join(" | ", item));Output yang Dihasilkan:
susu | telur | gula | kopiTanpa kedua opsi tersebut, hasil Split memuat satu potongan kosong dari " , " dan potongan lain membawa spasi di awal. Kombinasi opsi ditulis dengan operator bitwise |, dan potongan kosong serta spasi berlebih kini terbersihkan otomatis.
Pemisah yang diberikan tidak harus satu karakter. Split menerima array karakter, misalnya baris.Split(';', ',') untuk data yang pemisahnya kadang titik koma kadang koma. Hasil kembaliannya selalu array string, sehingga langsung siap diiterasi dengan foreach atau diakses per indeks seperti contoh sebelumnya.
Menyusun String dari Beberapa Potongan #
Method string.Join menyambung elemen array dengan pemisah tertentu, sedangkan string.Concat menyambung beberapa nilai tanpa pemisah:
Console.WriteLine(string.Join(" - ", kolom));
Console.WriteLine(string.Concat("Total", " ", "belanja", ": ", 75000));Output yang Dihasilkan:
Budi - Nasi goreng - 15000
Total belanja: 75000string.Join(" - ", kolom) mengembalikan isi array kolom yang disambung tanda " - ", bentuk yang cocok untuk laporan ringkas. string.Concat menerima beberapa nilai sekaligus, termasuk angka; nilai 75000 dikonversi ke teks secara otomatis lalu disambung tanpa pemisah tambahan.