Senin, 26 September 2016

Membagi String Berdasarkan Karakter Tertentu di VB NET dan C#

Untuk membagi string menjadi beberapa bagian berdasarkan karakter tertentu, kita bisa menggunakan fungsi String.Split(). Fungsi tersebut digunakan untuk membagi string ke dalam array string berdasarkan karakter pembagi (karakter pembaginya bebas).

Format dasar penulisannya adalah:
variabelString.Split(karakterPembagi)
Contoh penggunaannya sebagai berikut:


C# syntax:
string alatTransportasi = "Mobil|Motor|Kereta|Kapal|Pesawat";
string[] daftarAlatTransportasi = alatTransportasi.Split('|');
foreach (string kendaraan in daftarAlatTransportasi)
   Console.WriteLine(kendaraan);
Console.ReadKey(); 

VB .NET syntax:
Dim alatTransportasi As String =  
  "Mobil|Motor|Kereta|Kapal|Pesawat"
Dim daftarAlatTransportasi() As String = 
  alatTransportasi.Split("|")
For Each kendaraan As String In daftarAlatTransportasi
    Console.WriteLine(kendaraan)
Next
Console.ReadKey()
Output:
Mobil
Motor
Kereta
Kapal
Pesawat
Misanya kita memiliki sebuah variabel bernama alatTransportasi bertipe string yang isinya: Mobil|Motor|Kereta|Kapal|Pesawat dan kita ingin membagi string tersebut menjadi beberapa bagian berdasarkan karakter "|". Maka tinggal kita tulis function splitnya:
alatTransportasi.Split("|")

Membagi string menggunakan beberapa karakter pembagi

Untuk membagi string menggunakan beberapa karakter pembagi, kita bisa memasukkan karakter-karakter pembaginya ke dalam array char.
Sebagai contoh, misal kita ingin membagi string berdasarkan karakter: |.][ maka penulisannya:

 C# syntax:
string alat_transportasi = 
  "Mobil|Motor.Kereta[Kapal]Pesawat..x";
char[] karakterPembagi = { '|', '.', '[', ']' };
string[] daftarAlatTransportasi = 
   alat_transportasi.Split(karakterPembagi);
foreach (string kendaraan in daftarAlatTransportasi)
  Console.WriteLine(kendaraan);
Console.ReadKey();

 VB .NET syntax:
Dim alatTransportasi As String =  
  "Mobil|Motor.Kereta[Kapal]Pesawat..x" 
Dim karakterPembagi() As Char = { "|", ".", "[", "]" }
 
Dim daftarAlatTransportasi() As String = 
  alatTransportasi.Split(karakterPembagi)
For Each kendaraan As String In daftarAlatTransportasi
    Console.WriteLine(kendaraan)
Next
Console.ReadKey()

Output:
Mobil
Motor
Kereta
Kapal
Pesawat

x
Pada contoh sintak di atas, karakter-karakter pembaginya kita masukkan ke dalam array  char karakterPembagi. Kemudian kita panggil karakterPembagi ke dalam fungsi split: alatTrnsportasi.Split(karakterPembagi).
Selain itu, jika kita lihat outputnya, antara Pesawat dan x terdapat item yang kosong. Ini disebabkan oleh simbol titik ditulis dua kali di antara kata Pesawat dan x (Pesawat..x). Untuk menghilangkan item yang kosong, maka kita bisa tambahkan StringSplitOptions.RemoveEmptyEntries pada function splitnya seperti berikut ini:

C# syntax:
string[] daftarAlatTransportasi = 
  alat_transportasi.Split(karakterPembagi,  
    StringSplitOptions.RemoveEmptyEntries);
VB.NET syntax:
Dim daftarAlatTransportasi() As String = 
  alatTransportasi.Split(karakterPembagi,  
    StringSplitOptions.RemoveEmptyEntries)
Sehingga outputnya:
Mobil
Motor
Kereta
Kapal
Pesawat
x 
Perlu diingat, ketika kita menggunakan function split, maka karakter yang dipakai untuk membagi akan dihilangkan, jadi tidak akan muncul di outputnya.

Sekian untuk artikel kali ini semoga bermanfaat....

0 komentar:

Posting Komentar