EXAMPLE ile VB.NET Substring Yöntemi

Alt Dizge nedir?

Substring fonksiyonu belirtilen stringin bir kısmını elde etmek için kullanılır. Bu yöntem String sınıfında tanımlanmıştır. Microsoft VB.NET. String'in çıkarılacağı başlangıç ​​dizinini belirtmeniz gerekir. String, belirttiğiniz uzunluğa kadar bu dizinden çıkarılacaktır.

Bu eğitimde, öğreneceksiniz

Alt Dizenin Sözdizimi

Fonksiyon, aşağıdaki sözdiziminde gösterildiği gibi iki bağımsız değişkeni kabul eder:

Public Function Substring(ByVal start_Index As Integer, ByVal sub_length As Integer) As String

Burada,

  • ByVal anahtar sözcüğü, argümanları işlevlere aktarmanın bir mekanizması olan değere göre geçişi belirtir.
  • start_Index, alt dizenin elde edileceği dizindir
  • sub_length, String'in start_Index'ten kopyalanacağı uzunluğu belirtir. Bu uzunluk karakter sayısıyla ölçülür. İşlev, çıkarılan alt dizeyi döndürecektir.

Örnekler

) 1 Adım Yeni bir konsol uygulaması oluşturun.

) 2 Adım Üzerine aşağıdaki kodu ekleyin:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(0, 4)

        Console.WriteLine("The substring is: {0}", subst)

        Console.ReadKey()
    End Sub

End Module

) 3 Adım Kodu çalıştırmak için araç çubuğundan Başlat düğmesine tıklayın. Aşağıdaki sonucu almalısınız:

Aşağıdaki kodu kullandık:

Kodun Açıklaması:

  1. Modül1 adlı bir modül oluşturuluyor.
  2. Ana alt prosedür başlatılıyor.
  3. St adında bir string değişkeni tanımlamak ve ona Guru99 değerini atamak.
  4. 'subst' adlı bir dize değişkenini, 0f dizinindeki 'st' dizesinin bir alt dizesi olarak ve 4 karakter uzunluğunda tanımlama.
  5. Konsolda bazı metinlerin ve yukarıdaki alt dizenin yazdırılması.
  6. Konsol penceresinin bir süre duraklatılarak kullanıcının kapatmak için harekete geçmesi beklenir.
  7. Ana alt prosedürün sonu.
  8. Modül sonu.

Bir Argüman

Peki ya fonksiyona yalnızca bir argüman iletirsek? İşlev, String'deki bu dizinden başlayan tüm verileri kopyalayacaktır. Olan şu ki, Substring işlevi, o dizindeki ve bu dizini izleyen tüm dize verilerini dahili olarak kopyalar. Örneğin:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(4)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

Kodu çalıştırmak için Başlat düğmesine tıklayın. Aşağıdakini döndürmelidir:

Substring işlevi 99 döndürdü. Parametre 4'ü işleve ilettik, bu da onun dizin 4'teki karakterden String'in sonuna kadar alt dizeyi çıkarmaya başlayacağı anlamına geliyor. 9, Guru4 dizisinin 99. dizinindeki karakterdir, dolayısıyla çıkarma işlemi burada başlamıştır.

Orta Karakterler

Söz konusu String'in orta karakterlerini almamız da mümkündür. Bu durumda, sadece başlangıç ​​dizinini ve ihtiyacımız olan String'in uzunluğunu sağlamamız gerekir. Aşağıdaki örnekte, belirtilen String'in 2 dizininden bir alt dizesini alıyoruz ve String'in uzunluğu 2 karakter olacak:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim subst As String = st.Substring(2, 2)

        Console.WriteLine("The substring is: {0}", subst)


        Console.ReadKey()

    End Sub

End Module

Kodu çalıştırmak için araç çubuğundan Başlat düğmesine tıklayın. Aşağıdaki sonucu alacaksınız:

Yukarıdaki örnekte substring işlevi ru değerini döndürdü. (2, 2) parametrelerini fonksiyona aktardık. İlk 2, fonksiyona alt dizgeyi indeks 2'den çıkarmaya başlaması talimatını verirken, ikinci 2, fonksiyona yalnızca 2 karakter uzunluğunda bir alt dizge döndürme talimatını verir. Bu, alt dizenin çıkarılmasının Guru2 dizisinin 99. indeksinde bulunan r öğesinden başlaması gerektiği anlamına gelir. Döndürülen alt dizenin yalnızca 2 karakter uzunluğunda olması gerektiğinden, çıkarma işlemi 'u'yu geçmeyecektir, dolayısıyla 'ru' değerini döndürmüştür.

Bir Karakter

Bir dizgeden tek bir karakter almak için Substring işlevini kullanabiliriz. Böyle bir durumda, bir tahsis yapmanız gerekir ancak karaktere doğrudan erişilebilir. Bu biraz daha hızlıdır. Aşağıdaki örnek, bunu başarabileceğimiz iki yolu göstermektedir:

Module Module1
    Sub Main()

        Dim st As String = "Guru99"

        Dim mid1 As Char = st(1)
        Console.WriteLine(mid1)

        Dim mid2 As String = st.Substring(1, 1)

        Console.WriteLine(mid2)

        Console.ReadKey()

    End Sub

End Module

Kodu çalıştırmak için Başlat düğmesine tıklayın. Aşağıdaki sonucu alacaksınız:

Aşağıdaki kodu kullandık:

Kodun Açıklaması:

  1. Modül1 adlı bir modül oluşturuluyor.
  2. Ana alt prosedür başlatılıyor.
  3. St adında bir string değişkeni tanımlamak ve ona Guru99 değerini atamak.
  4. Mid1 adında bir string değişkeni tanımlamak ve String st'nin 1. indeksindeki karakteri almak. Bu karakter mid1 değişkenine atanacaktır.
  5. Yukarıdaki karakterin konsola yazdırılması.
  6. mid2 adında bir string değişkeni tanımlayıp String st'den indeks 1'deki 1 uzunluğundaki karakteri almak. 1'in uzunluğu, başlangıç ​​dizininde aynı karakteri döndüreceği anlamına gelir. Sayma belirttiğiniz başlangıç ​​indeksinden başlar. Bu karakter mid2 değişkenine atanacaktır.
  7. Yukarıdaki karakterin konsola yazdırılması.
  8. Konsol penceresinin bir süre duraklatılarak kullanıcının kapatmak için harekete geçmesi beklenir.
  9. Ana alt prosedürün sonu.
  10. Modül sonu.

ÖZET

  • Substring işlevi, Visual Basic.NET'in String sınıfında tanımlanmıştır.
  • Alt dizenin başlangıç ​​noktası ve alt dizenin uzunluğu olan iki argümanı kabul eder.
  • Ana String'den çeşitli alt dizi kümeleri elde etmek için bu argümanlarla oynayabiliriz.