Left..Right..Mid

Da Gambas-it.org - Wikipedia.
Left(”Gambas-it.org”, 3)
Right(”Gambas-it.org”, 3)
Mid(”Gambas-it.org”, 4, 2)

Estrapola una porzione di testo da una stringa


Non c’è niente da fare, prima o poi capiterà di dover manipolare i dati presenti in una stringa di testo. Gambas2 ci viene in aiuto con queste tre istruzioni: Left (sinistra) Right (destra) Mid (in mezzo)

L’utilizzo di queste istruzioni è molto semplice:

Left estrae i dati partendo da sinistra; guardando la riga di codice sopra riportato avremo la stampa della parola Gam.

Right estrae i dati partendo da destra; guardando la riga di codice sopra riportato avremo la stampa della parola org.

Mid estrae i dati partendo da una posizione specificata e con un intervallo specificato; guardando la riga di codice sopra riportato avremo la stampa della parola as.

Attenzione, la posizione di partenza e l’intervallo è in funzione dei caratteri, la posizione 0 (zero) non esiste (il primo carattere di una stringa è sempre a posizione 1), e l’intervallo è il numero di caratteri da estrapolare.

Vediamo di seguito come estrapolare una parte di una parola con un esempio di codice che potrà tornarci utile nei nostri progetti:


DIM variabile AS String
DIM tmp AS Integer
variabile = “Gambas-it.org”
   FOR tmp = 1 TO Len(variabile)
      IF Mid(variabile, tmp, 3) = “bas” THEN
         Message.Info(”Trovata la parola ” & Mid(variabile, tmp, 3))
      ENDIF
   NEXT

Analizziamo ogni singola riga per comprenderne meglio il significato:

DIM variabile AS String dichiarazione della variabile (nome e tipo)

DIM tmp AS Integer dichiarazione della variabile (nome e tipo)

FOR tmp = 1 TO Len(variabile) comunichiamo al sistema che valori può assumere tmp, ovvero da 1 alla lunghezza (Len) di variabile, nel nostro caso 13.

IF Mid(variabile, tmp, 3) = “bas” THEN chiediamo al sistema che deve controllare il valore di variabile (o meglio il 'Mid' di variabile), se questo valore è uguale a “bas” allora deve fare qualche cosa

Message.Info(”Trovata la parola ” & Mid(variabile, tmp, 3)) ad ogni valore di variabile uguale a “bas” il sistema stampa la frase “Trovata la parola ” e la parola trovata, ovviamente tale frase sarà stampata una sola volta in quanto la parola “bas” è presente una sola volta all’interno di “Gambas-it.org”.

ENDIF termina il codice iniziato con IF.

NEXT procediamo con un nuovo valore fino al raggiungimento del numero 13.


Nota: Le istruzioni descritte hanno le stesse funzioni di quelle in Visual Basic, e in Gambas esistono anche le nomenclature classiche del Basic: Left$, Right$ e Mid$. Questi alias sono presenti per compatibilità con il Visual Basic, e probilmente scompariranno (come alias) dalle librerie di Gambas.