9. String Parçalama (Parsing) Fonksiyonu
Merhaba;
Bir string ifade içerisinde, belirtilen özel karaktere göre, veriyi parçalayan bir fonksiyon hazırladım. Aşağıda fonksiyonun kodlarını bulabilirsiniz.
Fonksiyona iki adet referans göndermeniz gerekiyor :
"string_veri" olarak, parçalamak istediğiniz metin içeriğini,
"ayrac" olarak, parçalama işleminin hangi karaktere göre yapılacağını.
Bu iki veriyi gönderdiğinizde, bir dizi (array) içerisinde, ayrac değerine göre parçalanmmış verileri alabilirsiniz. Ayraç olarak verdiğiniz değer, dizi içerisine alınmaz, silinir.
Örnek üzerinden de anlatmak isterim:
Örneğin şu şekilde bir string verimiz olsun:
Dim veriler
As String = "ankara@gmail.com,bursa@hotmail.com,mugla@yahoo.com"
Bunları virgül karakterine göre parçalayıp, bir array içine almak için fonksiyonu şöyle çağırıyoruz:
Dim e_postalar()
As String = String_Parser(veriler, ",")
e-postalar isimli dizi içerisi, program çalıştırıldıktan sonra şu şekilde olacaktır:
e_postalar[0] = "ankara@gmail.com"
e_postalar[1] = "bursa@hotmail.com"
e_postalar[2] = "mugla@yahoo.com"
Umarım işinize yarayacaktır. Aşağıdan yorum ve işaretleme yaparsanız sevinirim.
Kolay gelsin.
Private Function String_Parser(ByVal
string_veri As String,
ByVal ayrac As String)
Dim
parsed_strings(0) As String
Do
Dim
ayrac_yeri As Integer
'HER DEFASINDA YENİ DEĞER ALACAK, DÖNGÜ İÇİNDE
TANIMLIYORUM
ayrac_yeri =
Microsoft.VisualBasic.InStr(string_veri, ayrac, CompareMethod.Text)
'VERİ İÇİNDE AYRAÇIN YERİ SAPTANIYOR
If
ayrac_yeri = 0 Then
parsed_strings(parsed_strings.Length - 1) = string_veri 'AYRAÇ HİÇ YOKSA VERİNİN TAMAMI DİZİYE ATILIYOR
string_veri = ""
Else
ReDim
Preserve parsed_strings(parsed_strings.Length) 'AYRAÇ VARSA, DİZİ İÇİNDE YENİ BİR ALAN AÇILIYOR, ESKİ VERİLER
SAKLANIYOR
parsed_strings(parsed_strings.Length - 2) =
Microsoft.VisualBasic.Left(string_veri, ayrac_yeri - 1) 'AYRAÇ YERİNE KADAR OLAN KISIM DİZİDE AÇILAN ALANA ALINIYOR
string_veri =
Microsoft.VisualBasic.Right(string_veri, CInt(string_veri.Length)
- ayrac_yeri) ' ALINAN KISIM STRING İÇİNDEN SİLİNİYOR
End
If
Loop Until (string_veri = "")
'STRİNG İÇİNDE OLAN VERİ BİTENE KADAR DÖNÜYOR
Return
parsed_strings
End Function
Yorumlar
Yorum Gönder
Her türlü eleştiri, görüş, öneri, soru ve açıklamanızı yazmaktan çekinmeyin. (You might write in English, too)