Mencari Angka Dalam String

Berikut adalah fungsi untuk mendapatkan angka yang terdapat dalam suatu string. Diasumsikan bahwa angka bisa lebih dari satu dan posisi angka random dalam string.

Contoh : asa23kdj212ndn1nckw —> maka akan dihasilkan 3 angka yaitu 23, 212 dan 1.

Angka yang di temukan akan disimpan dalam variabel array bertipe integer.
Code vb.net

Protected Function GetNumFromStr(ByVal str As String) As Integer()
Dim angka() As Integer = Array.CreateInstance(GetType(Integer), 1)
Dim idxStr As Integer = 0
Dim idxAngka As Integer = 0

For Each _char As Char In str.ToCharArray()
   If IsNumeric(_char) Then
      If idxStr = 0 Then
         angka(idxAngka) = Val(_char)
         idxAngka += 1
      Else
         If IsNumeric(str.ToCharArray(idxStr - 1, 1)(0)) Then
            angka(idxAngka - 1) = angka(idxAngka - 1) & Val(_char)
         Else
            ReDim Preserve angka(idxAngka)
            angka(idxAngka) = Val(_char)
            idxAngka += 1
         End If
      End If
   End If
   idxStr += 1
Next
Return angka
End Function

Code C#

protected int[] GetNumFromStr(string str)
{
  int[] angka = new int[1];
  int idxAngka = 0;
  int idxStr = 0;

  foreach (char _char in str.ToCharArray())
  {
     if(char.IsNumber(_char))
     {
        if (idxStr == 0)
        {
           angka[0] = int.Parse(_char.ToString());
           idxAngka++;
        }
        else
        {
           if (char.IsNumber((str.ToCharArray(idxStr - 1, 1))[0]))
              angka[idxAngka - 1] = int.Parse (angka[idxAngka - 1].ToString() + _char.ToString());
           else
           {
              Array.Resize(ref angka, idxAngka+1);
              angka[idxAngka] = int.Parse(_char.ToString());
              idxAngka++;
           }
        }
     }
     idxStr++;
  }
  return angka;
}

Kode selengkapnya dapat di download disini

About Yuniar

Penulis sekarang lebih banyak bekerja menggunakan teknologi Microsoft .NET secara umum dan TIDAK lagi menggunakan aplikasi MapXtreme.net dari MapInfo. Karena itu mohon maaf, jika pertanyaan-pertanyaan mengenai MapXtreme sudah tidak bisa saya jawab lagi.

Posted on 10 Agustus 2009, in .NET and tagged , , , . Bookmark the permalink. Tinggalkan komentar.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: