JavascriptProva

mercoledì 12 settembre 2012

Estrapolare una parte di una stringa in VB.NET (diverso da VB6)

Un'idea.
Fra il nome e il numero mettere un carattere come un punto.
Così:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim parola As String = "parola.12"

    End Sub
Ora individuare la posizione del punto all'interno della stringa.
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim parola As String = "parola.12"
        MsgBox(parola.IndexOf("."))

    End Sub
Ottengo 6, ossia, considerato che la prima lettera è in posizione 0, significa che il punto è al settimo posto.

Ora voglio isolare la parte della stringa che sta dopo il punto.
Ecco, con un po' di tribolazione, dopo aver capito che in VB.NET non esistono più le operazioni Left, Right e Mid:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim parola As String = "parola.12"
        MsgBox(parola.Substring(parola.Length - (parola.Length - parola.IndexOf(".") - 1)))


    End Sub
Così ottengo ciò che è dopo il punto.
Potrei immettere anche questo codice sotto forma di una funzione nel modulo Funzioni.vb... ma lo vedrò dopo.
...e invece l'ho visto subito perchè è veramente facilissimo:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim parola As String = "parola.12324"
        MsgBox(Numero(parola))


    End Sub
    
    Function Numero(ByVal stringa) As Integer
        Dim s As String = stringa.Substring(stringa.Length - (stringa.Length - stringa.IndexOf(".") - 1))
        Dim n As Integer = CInt(s)
        Return n
    End Function

Nessun commento:

Posta un commento