Oppure

Loading
30/09/09 8:53
giusy_m86
Mi servirebbe estrarre una sottostringa una una variabile stringa. Essa ha sempre la stessa posizione iniziale...ma lunghezza variabile e finisce con un doppio apice. Ora vorrei modificarel'istruzione Mid scritta da me in questo modo
 b = (Mid(a, 28, 10)) 'Restituisce il numero di telefono di lunghezza 10

in un'istruzione del tipo: b=(Mid(a, 28, fino a quando trova i doppi apici)) 'Restituisce il numero di telefono
aaa
30/09/09 9:18
the_angel
Postato originariamente da giusy_m86:

Mi servirebbe estrarre una sottostringa una una variabile stringa. Essa ha sempre la stessa posizione iniziale...ma lunghezza variabile e finisce con un doppio apice. Ora vorrei modificarel'istruzione Mid scritta da me in questo modo
 b = (Mid(a, 28, 10)) 'Restituisce il numero di telefono di lunghezza 10

in un'istruzione del tipo: b=(Mid(a, 28, fino a quando trova i doppi apici)) 'Restituisce il numero di telefono


Fatti una funzione esterna che cicla la stringa...con la funzione mid perndi in considerazione un carattere alla volta, fino a quando non trovi i doppi apici.
A quel punto restituisce il numero del carattere dove sei arrivato...

Non è difficile, ragionaci su...

Purtroppo non ho il tempo di scriverla. Ma è davvero semplice.
Buon lavoro:k:
aaa
30/09/09 9:37
giusy_m86
Si, anche io avevo avevo pensato a questa soluzione...pensavo che sempre l'istruzione Mid mi permettesse di fare ciò. Grazie
aaa
30/09/09 9:50
the_angel
Postato originariamente da giusy_m86:

Si, anche io avevo avevo pensato a questa soluzione...pensavo che sempre l'istruzione Mid mi permettesse di fare ciò. Grazie


Con il vb no. In dot.net invece, mi sembra che si sia una funzione che faccia al
caso tuo...

buon lavoro!
aaa
30/09/09 10:00
Alfonso
Prova questa soluzione

Dim pos as integer,lung as integer

pos= InStrRev(a, chr(34)) ' cerca la posizione dell'ultimo carattere <doppio apice> partendo dall'inizio stringa

lung=x-28

b = (Mid(a, 28, pos-28))

ovvero senza variabili

b= (Mid(a, 28, InStrRev(a, chr(34))-28))
Ultima modifica effettuata da Alfonso 30/09/09 10:04
aaa
30/09/09 10:09
Alfonso
Scusa mi sono dimenticato di togliere lung=x-28 che doveva essere pos-28
aaa
30/09/09 10:52
giusy_m86
Provo e ti faccio sapere!
aaa
30/09/09 10:57
giusy_m86
Funziona perfettamente! Grazie :k:
aaa