" Umut, hiç görmeyen birine gökkuşağını anlatmak kadar zor ve imkansız... "

Categories

-

VB.NET String islemleri

VB.Net'in belki en güçlü yanlarin biride string islemleri konusuna sahip oldugu fonksiyon ve method zenginliginin yani sira bu islemlerin diger dillere göre daha kolay bir biçimde gerçeklestirlebilmesidir. Simdi string islemlerine bir göz atalim. Bir string tanimlanirken hepimizin bildigi gibi ( Dim [String Ismi] as String ) Seklinde degiskenimizi tanimliyoruz.

Split () : Split( ) metodu, çagrildigi metni istenilen karakterden itibaren parçalara bölmek için kullanilan bir metottur. Eger istenilen karakter mevcut metin ifadesi içerisinde yer aliyorsa, Split( ) metodu metni karakterlerden öncesi ve sonrasi seklinde parçalara ayirir ve bu parçalari string türünde bir dizi içerisinde saklar. Geriye de bu string() türündeki diziyi döndürür.

Dim domain As String = "www.okanduzgun.com"
Dim dizi() As String = domain.Split(".")
Label1.Text = dizi(0)

IndexOf : String ifadelere ait bir özelliktir.Bu özellik string olarak tanimlanmis bir degisken, textbox, label vb. nesnelere uygulanabilir. String içinde arama islemi bastan baslayarak yapar. 3 tür kullanimi vardir.

Kullanim 1 : Belirlenen karakterin veya stringin aranmasini saglar. Eger var ise geriye sira numarasini , yok ise -1 döndürür. Stringlerde 1.karakterin sira numarasi 0’dir.

IndexOf(Aranan string veya karakter)
label3.Text= textBox1.Text.IndexOf(textBox2.Text).ToString();

Kullanim 2 : Belirlenen karakterin veya stringin aranmasini saglar.Eger var ise geriye sira numarasini , yok ise -1 döndürür.stringlerde 1.karakterin sira numarasi 0’dir.

IndexOf(Aranan string veya karakter,Kaçinci karakterden itibaren)
label3.Text = textBox1.Text.IndexOf(textBox2.Text, int.Parse(textBox3.Text),).ToString();

Kullanim 3 : Belirlenen karakterin veya stringin aranmasini saglar.Eger var ise geriye sira numarasini , yok ise -1 döndürür.stringlerde 1.karakterin sira numarasi 0’dir.

IndexOf(Aranan string veya karakter,Kaçinci karakterden itibaren,Kaç karakter)

label3.Text = textBox1.Text.IndexOf(textBox2.Text, int.Parse(textBox3.Text), int.Parse(textBox4.Text)).ToString();

Not : Arama islemini birden fazla karakter ile yapabiliriz.Arama islemini bastan baslayarak yapmak için IndexOfAny , sondan baslayarak yapmak için LastIndexOfAny kullanilir.

Dim c() As Char
,Microsoft.VisualBasic.ChrW(114)
,Microsoft.VisualBasic.ChrW(122)
Unknownlabel3.Text = textBox1.Text.IndexOfAny(c).ToString

StartsWith : String ifadelere ait bir özelliktir.Bu özellik string olarak tanimlanmis bir degisken,textbox,label vb nesnelere uygulanabilir.Arama islemini IndexOf veya LastIndexOf gibi string içinde degilde sadece  basina bakarak yapar.

Kullanim :

label3.Text = textBox1.Text.StartsWith(textBox2.Text).ToString

EndsWith : String ifadelere ait bir özelliktir.Bu özellik string olarak tanimlanmis bir degisken,textbox,label vb nesnelere uygulanabilir.Arama islemini IndexOf veya LastIndexOf gibi string içinde degilde sadece sonuna bakarak yapar.

Kullanim  : Eger var ise geriye True , yok ise False döndürür

label3.Text = textBox1.Text.EndsWith(textBox2.Text).ToString

Replace : Bu fonksiyon ile metnimizin bir karakteri veya metnini, baska bir karakter veya metin ile degistirebiliriz. 

Kullanimi :

txtSistem45Mac1.Text = txtSistem45Mac1.Text.ToString.Replace(".", ",")

Length : Bu fonksiyon yazdiginiz bir string verinin uzunlugunu sayisal olarak size verir. 

Kullanimi :

Dim len As String = "www.okanduzgun.com"
Label1.Text = len.Length

Dim domain As String = "www.okanduzgun.com"
Label1.Text = domain.Count()

UCASE & TOUPPER : Bu fonksiyon metinimizi büyük harfe çevirmek için kullanilir. 

Dim domain As String = "www.okanduzgun.com"
Label1.Text = UCase(domain)
Dim domain As String = "www.okanduzgun.com"
Label1.Text = domain.ToUpper()

LCASE & TOLOWER : Bu fonksiyon metinimizi küçük harfe çevirmek için kullanilir. 

Dim domain As String = "www.okanduzgun.COM"
Label1.Text = LCase(domain)
Dim domain As String = "WWW.OKANDUZGUN.COM"
Label1.Text = domain.ToLower()

INSTR : Bu fonksiyon metnimizin içerisinde yer alan bir karakterin nerede yer aldigini (kaçinci karakter oldugunu) bulmak için kullanabiliriz. Value degerine hangi karakteri veya kelimeyi aradigimizi vermemiz gerekmekte. 

Dim domain As String = "www.okanduzgun.COM"
Label1.Text = InStr(domain, "ok")

MID : Bu fonksiyonu metnimizin içerisinde belirli bir araligi kopyalamak için kullanabiliriz.

Dim domain As String = "www.okanduzgun.COM"
Label1.Text = Mid(domain, 1, 4)

Remove : String ifadeden belirtilen karakterleri silmek için kullaniriz. Ilk deger 0 dan baslar.

Dim domain As String = "www.okanduzgun.COM"
Label1.Text = domain.Remove(0, 5)

SubString : String içerisinde belli bir karakterden sonraki bölümü seçmemiz yarar. Ilk deger 0 dan baslar.

Dim domain As String = "www.okanduzgun.COM"
Label1.Text = domain.Substring(0, 3)

Trim : String ifadede ki bosluklari silmeye yarar.

Dim domain As String = "    www.okanduzgun.com"
Label1.Text = domain.Trim()

Compare(): Parametre olarak verilen iki string ifadeyi karsilastirir ve geriye int türünde bir veri döndürür. Eger dönüs degeri sifir (0) ise iki metin birbirine esittir. Aksi takdirde parametre olarak verilen metinleri ilk harflerinden itibaren tek tek karsilastirir ve farkliligin oldugu ilk harflerin alfabedeki siralarina göre -1 veya 1 sayi degerlerini döndürür.

Dim donusDegeri As Integer = String.Compare(domain, domain)

Not: Eger metin karsilastirmalarinda büyük/küçük harfe dikkat edilsin istemiyorsak;
Compare() metodunun bir baska kullanimi olan Compare(metin1,metin2,boolean) formunu kullanmamiz gerekir.

Dim donusDegeri As Integer = String.Compare(metin1, metin2, buyukKucuk)

Burada bool türündeki degiskenin degeri true ise Compare( ) metodu büyük/küçük harfe bakmasizin iki kelimeyi karsilastirir. Eger false degeri gönderilirse, bu durumda karsilastirma islemini büyük/küçük harfe biçimde gerçeklestirir.

Concat( ) : Parametre olarak verilen nesneleri string türünde birbirine pesi sira ekler ve geriye string türünde bir deger döndüren String metodudur.

Dim domain As String = "www.okanduzgun.com"
Dim title As String = "Basarmak Paylasmaktir"
Label1.Text = String.Concat(domain, title)

IsNullOrEmpty() : Parametre olarak verilen string türündeki degiskenin içeriginin bos mu oldugunu kontrol eden metottur. Eger degiskenin içerigi bossa geriye bool türünde true degeri döndürür. Eger degiskene herhangi bir deger atamasi yapilmissa geriye false degerini döndürür.

Dim sonuc As Boolean = String.IsNullOrEmpty(domain)

If sonuc = True Then
       Label1.Text = "String Bos"
Else
       Label1.Text = "String Dolu"
End If

Contains() : Birlikte çagrildigi metinsel ifade içerisinde parametre olarak verilen char türündeki karakteri veya yine parametre olarak verilen string türündeki metinsel ifadeyi arar ve geriye bool türünde bir deger döndürür.

Dim domain As String = "www.okanduzgun.com"
Dim aranan As String = "okan"

Dim deger As Boolean = domain.Contains(aranan)

If deger = True Then
      Label1.Text = "Bulundu"
Else
            Label1.Text = "Bulunamadi"
End If

Join Metodu : Bir metin ya da metin dizisi içerindeki degerlerin hepsini bir string degiskene belirtilen ayirici karakter kullanilarak aktaran metoddur.

Dim diller() As String = {"VB.NET", "C#", "PYTHON"}
Dim dillerlist As String = Join(diller, ", ")
TextBox1.Text = dillerlist

STRINGBUILDER SINIFI : Özellikle birden fazla string üzerinde islem yapmak için kullanilan ve bu islemleri string sinifina göre daha performansli bir biçimde gerçeklestiren siniftir. StringBuilder sinifini kullanabilmemiz için System.Text isimli uzayini sinifimiza dahil etmemiz gerekiyor.

StringBuilder Sinifi ile String sinifinin performasini karsilastiran örnek bir uygulama yapalim.

Imports System.Text
Module Module1

    Sub Main()
        Dim i As Integer = 0
        Dim yazi As String = Nothing
        Dim baslangiczamani As DateTime
        Dim bitiszamani As DateTime
        baslangiczamani = Now

        For i = 0 To 50000
            yazi = yazi + i.ToString()
        Next

        bitiszamani = Now
        Console.WriteLine("String Sinifi baslangiç zamani=" & baslangiczamani.ToString())
        Console.WriteLine("String Sinifi bitis zamani=" & bitiszamani.ToString())
        Console.WriteLine()

        Dim sb As New StringBuilder()
        baslangiczamani = Now
        For i = 0 To 50000
            sb.Append(i.ToString())
        Next
        bitiszamani = Now
        Console.WriteLine("String Sinifi baslangiç zamani=" & baslangiczamani.ToString())
        Console.WriteLine("String Sinifi bitis zamani=" & bitiszamani.ToString())
        Console.ReadKey()

    End Sub

End Module

MICROSOFT.VISUALBASIC SINIFI

Microsoft.visualbasic sinifi içerisinde visual basic 6 versiyonundan bu yana kullanilan string metotlari mevcuttur.

Bu metotlarin baslicalari sunlardir :

  • 0
  • 3055
  • 0

- BUNLARIDA GÖZDEN GEÇİREBİLİRSİNİZ -

HENÜZ YORUM YAPILMAMIŞ !

Yorum yazın

HAKKIMDA

KONULARI TAKİP EDİN

SOSYAL AĞLAR

  • Mesajınızı Gonderin