Differenze tra le versioni di "InStr"

Da Gambas-it.org - Wikipedia.
(Note)
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
La funzione '''InStr''' restituisce un integer che rappresenta la posizione del primo carattere della prima parola/sottostringa trovata fra due o più eventuali, identiche a quella cercata, all'interno della stringa.
+
La funzione '''InStr''' restituisce un integer che rappresenta la posizione del primo carattere della <SPAN style="text-decoration:underline">prima</span> parola/sottostringa trovata fra due o più eventuali, identiche a quella cercata, all'interno della stringa.{[[#Note|1]]}
  
  
pos = Instr(''stringa'', ''sottostringa_da_cercare'' [, ''inizio''])
+
pos = Instr(''stringa'', ''sottostringa_da_cercare'' [, ''inizio'', ''comparazione''])
  
 
Se ''inizio'', che è un integer, è specificato, la ricerca della parola/sottostringa da cercare comincia dalla posizione ''inizio''.
 
Se ''inizio'', che è un integer, è specificato, la ricerca della parola/sottostringa da cercare comincia dalla posizione ''inizio''.
 +
<BR>La ''comparazione'' può essere o ''gb.Binary'' per una comparazione di tipo binario (predefinita); oppure ''gb.Case'' per una comparazione insensibile alle maiscole-minuscole.
  
 
Se la sottostringa da cercare non viene trovata, allora ''InStr'' restituisce uno zero.
 
Se la sottostringa da cercare non viene trovata, allora ''InStr'' restituisce uno zero.
Riga 16: Riga 17:
 
  Dim pos As Integer
 
  Dim pos As Integer
 
   
 
   
   $prova = "Questa è una pagina della WIKI"
+
   $prova = "La pagina della WIKI"
 
   
 
   
   pos = <FONT color=B22222>InStr</font>($prova, "pagina")
+
   pos = <FONT color=B22222>InStr</font>($prova, "della")
 
   
 
   
 
   Print pos
 
   Print pos
Riga 25: Riga 26:
  
 
In console si avrà il seguente risultato:
 
In console si avrà il seguente risultato:
<BR>15
+
<BR>11
 +
 
 +
 
 +
 
 +
Questa funzione può essere utilizzata anche per conoscere più semplicemente a posizione del primo di un dato carattere all'interno di una stringa.
 +
 
 +
Esempio:
 +
 
 +
Public Sub Button1_Click()
 +
 +
Dim $prova As String
 +
Dim pos As Integer
 +
 +
  $prova = "La pagina della WIKI"
 +
 +
  pos = <FONT color=B22222>InStr</font>($prova, "W")
 +
 +
  Print pos
 +
 +
End
 +
 
 +
In console si avrà il seguente risultato:
 +
<BR>17
 +
 
 +
 
 +
 
 +
==Note==
 +
[1] Per le stringhe in utf bisogna usare la classe String, altrimenti i caratteri particolari come: è, é, ò, à, ù, etc riporteranno un conteggio pari a 2 e non a 1.
 +
Quindi per ottenere un conteggio coerente con l'effettiva lunghezza di una stringa nel caso di presenza al suo interno dei predetti caratteri speciali, si opererà come il seguente esempio:
 +
'''Public''' Sub Button1_Click() 
 +
 
 +
  Print <FONT color=B22222>String.InStr</font>("aèc", "c")  <FONT color=006400>' ''idem con presenza dei caratteri: "é", "à", "ò", "ù"''</font>
 +
 
 +
'''End'''

Versione attuale delle 03:13, 18 apr 2012

La funzione InStr restituisce un integer che rappresenta la posizione del primo carattere della prima parola/sottostringa trovata fra due o più eventuali, identiche a quella cercata, all'interno della stringa.{1}


pos = Instr(stringa, sottostringa_da_cercare [, inizio, comparazione])

Se inizio, che è un integer, è specificato, la ricerca della parola/sottostringa da cercare comincia dalla posizione inizio.
La comparazione può essere o gb.Binary per una comparazione di tipo binario (predefinita); oppure gb.Case per una comparazione insensibile alle maiscole-minuscole.

Se la sottostringa da cercare non viene trovata, allora InStr restituisce uno zero.


Esempio:

Public Sub Button1_Click()

Dim $prova As String
Dim pos As Integer

 $prova = "La pagina della WIKI"

  pos = InStr($prova, "della")

  Print pos

End

In console si avrà il seguente risultato:
11


Questa funzione può essere utilizzata anche per conoscere più semplicemente a posizione del primo di un dato carattere all'interno di una stringa.

Esempio:

Public Sub Button1_Click()

Dim $prova As String
Dim pos As Integer

 $prova = "La pagina della WIKI"

  pos = InStr($prova, "W")

  Print pos

End

In console si avrà il seguente risultato:
17


Note

[1] Per le stringhe in utf bisogna usare la classe String, altrimenti i caratteri particolari come: è, é, ò, à, ù, etc riporteranno un conteggio pari a 2 e non a 1. Quindi per ottenere un conteggio coerente con l'effettiva lunghezza di una stringa nel caso di presenza al suo interno dei predetti caratteri speciali, si opererà come il seguente esempio:

Public Sub Button1_Click()  
  
  Print String.InStr("aèc", "c")   ' idem con presenza dei caratteri: "é", "à", "ò", "ù"
 
End