|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Cercare dentro una stringa
Ciao;
Come posso individuare la presenza di un determinato carattere contenuta in una stringa? Es. stringa: 123|456|789|4698 Vorrei verificare che ad es. il 456 si già presente o meno avevo provato così: If InStr(1, stringa, testodacercare, vbTextCompare) > 0 Then MsgBox "valore già presente": Exit Sub End If però non funziona a dovere in quanto non viene considerato tutto il dato da verificare, ma solo una parte di esso. Ciao |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Prova così:
Codice:
If InStr(stringa, testodacercare) > 0 Then MsgBox "valore già presente": Exit Sub End If
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
OK! Sembra che funziona. Ti ringrazio...
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
...nulla di che
![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Ciao;
Incredibile ma vero sembra che ancora non faccia in pieno il suo dovere questa funzione. esempio se la stringa fosse composta dalla cifra 116 e vorrei verificare se esiste il solo n. 6 mi dice che esiste ma e errato in quanto si esiste ma fa parte del 116 e non singolarmente solo il n. 6 ![]() ![]() |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Ma carmen... ehehhehe, quella funzione fa il suo dovere a meraviglia
![]() Mettiamo questi esempi con la seguente stringa: Stringa1="60;160;1600;16000;" Es1: Vuoi cercare il numero 60, lo troverà nella posizione 1, ... tutto questo è corretto dato che lui cerca una stringa dentro un'altra stringa! A lui nn importa se sono numeri, indirizzi email o pincopallino, l'importante è che trovi una corrispondenza! Es2: Vuoi cercare il numero 160, allora basta che dici -> InStr(Stringa1,"160;") , così lui cerca quel blocco e lo troverà che parte dalla posizione 4 Capito? ![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
Quote:
volessi :| inoltre quello che tu vuoi è un confronto numerico, che ha una logica di funzionamento diversa da quella della ricerca di una sottostringa |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
La sintassi l'avevo capito ed apparentemente sembrava che funzionava fin quando non mi sono imbattura nella verifica di due numeri come ad es. 116 e 6
Mi diceva che il n. 6 era presente nonostante la stringa fosse composta soltanto cosi Stringa:"116|" Per maggiore chiarezza allego l'esempio |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Facendo delle prove sono arrivata a questa soluzione. Non sò se sia la migliore:
label1="116|216|300|" ListaDoc = Split(Left(Label1, Len(Label1) - 1), "|") For i = 0 To UBound(ListaDoc) If ListaDoc(i) = Text1 Then MsgBox "Dato già presente nella stringa": Exit Sub Next Esiste qualche altro metodo migliore??? ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Secondo me è un ottima soluzione
![]() Stavo per dirtela io, ma il tanto lavoro mi impedisce di venire sempre sul forum, ma ci sei arrivata da sola, quindi complimenti!!! ![]()
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:31.