Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 10 su 10

Ricerca in stringa

  1. #1
    willysmb non  in linea Scolaretto
    Buongiorno a tutti,
    vorrei effettuare una ricerca in una stringa(che pu essere di lunghezza variabile!) contente un'istruzione di C (con operatore ternario) formulata in questo modo, ad esempio:

    risultato = (( var1 == varX)||( var1 == varY))?(( var1 == 13.10)?2:(( var1 ==27.50 )?3:1)):0
    
    in poche parole dovrei riuscire a prelevare, i numeri 2, 3, 1, 0.
    Con quali criteri posso effettuare la ricerca di questi numeri? Conoscendo le funzioni Mid, Instr come posso procedere?

    Grazie tante

    Saluti

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da willysmb Visualizza il messaggio
    Buongiorno a tutti,
    vorrei effettuare una ricerca in una stringa(che pu essere di lunghezza variabile!) contente un'istruzione di C (con operatore ternario) formulata in questo modo, ad esempio:

    risultato = (( var1 == varX)||( var1 == varY))?(( var1 == 13.10)?2:(( var1 ==27.50 )?3:1)):0
    
    in poche parole dovrei riuscire a prelevare, i numeri 2, 3, 1, 0.
    Con quali criteri posso effettuare la ricerca di questi numeri? Conoscendo le funzioni Mid, Instr come posso procedere?

    Grazie tante

    Saluti
     
    LunghezzaStringa=Len(Stringa)
    
    Se non ho capito male devi cercare le Occorrenze dei testi indicati..., quindi devi fare un ciclo da 1 a Len(Stringa) e sfruttando MID$ e non MID(per motivi prestazionali) controlli ogni carattere, incrementi il Puntatore ecc....
    Dim lngTOT as Long
    Dim x as Long
    Dim strPoint as string
    lngTOT=Len(TuaStringa)
    For x=1 To lngTOT
        strPoint=Mid$(TuaStringa,x,1)
        If strPoint="1" Then 
           ....
        ElseIf strPoint="2" Then
           ....
        ElseIf  ....
           ....
        End If
    Next
    
    Ho capito bene...?
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    willysmb non  in linea Scolaretto
    Si esattamente, grazie tante!!

  4. #4
    licetinsanire non  in linea Scolaretto
    Ciao,
    non mi chiara una cosa:
    devi solo verificare se esistono i numeri 2, 3, 1, 0 all'interno della stringa o estrarre una parte di stringa considerando questi numeri, ad esempio la prima parte di stringa fino al numero 2?

    Esempio:

    risultato = (( var1 == varX)||( var1 == varY))?(( var1 == 13.10)?2:(( var1 ==27.50 )?3:1)):0
    

  5. #5
    licetinsanire non  in linea Scolaretto
    Ops in ritardo......

  6. #6
    willysmb non  in linea Scolaretto
    Quote Originariamente inviato da willysmb Visualizza il messaggio
    risultato = (( var1 == varX)||( var1 == varY))?(( var1 == 13.10)?2:(( var1 ==27.50 )?3:1)):0
    
    Controllando carattere per carattere non rischio che oltre che prelevare il valore presente dopo il ? e i :, prelevo anche quelli dopo l'uguale?
    Mi spiego devo solo prelevare i numeri che ho messo in grassetto! e non quelli dei valori 13.10 e 27.50!!

    Grazie!

  7. #7
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da willysmb Visualizza il messaggio
    Controllando carattere per carattere non rischio che oltre che prelevare il valore presente dopo il ? e i :, prelevo anche quelli dopo l'uguale?
    Mi spiego devo solo prelevare i numeri che ho messo in grassetto! e non quelli dei valori 13.10 e 27.50!!

    Grazie!
    Non un problema basta un minimo di occhio... quando trovi il Carattere "?" attivi il controllo Numeri e quando trovi il carattere ":" lo disattivi...!
    Dim lngTOT as Long
    Dim x as Long
    Dim strPoint as string
    Dim blCk as Boolean
    lngTOT=Len(TuaStringa)
    For x=1 To lngTOT
        strPoint=Mid$(TuaStringa,x,1)
        ' Questo Flag definisce se sei all'interno della stringa da estrarre
        blck=(strPoint="?" Or blck) And Not (strPoint=":") 
        If blck=True then
             If strPoint="1" Then 
                 ....
             ElseIf strPoint="2" Then
                 ....
             ElseIf  ....
                 ....
             End If
         End if
    Next
    
    Verifica tutto perch non l'ho provato... il concetto corretto.
    ciao
    Ultima modifica di @Alex; 27-08-2008 11:13 
    ℹ️ Leggi di pi su @Alex ...

  8. #8
    willysmb non  in linea Scolaretto
    Ok grazie, troppo gentile, ora lo provo e cerco di arrangiarmi per quel che riesco!

  9. #9
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da willysmb Visualizza il messaggio
    Ok grazie, troppo gentile, ora lo provo e cerco di arrangiarmi per quel che riesco!
    Ho fatto una piccola modifica mi ero accorto di un'errore... in ogni caso deve esserti chiaro che ci deve essere un carattere che definisce l'inizio settore ed il fine settore... che io ho ipotizzato in Inizio="?" e Fine=":", poi vedi tu come gestirlo...
    Ultima modifica di @Alex; 27-08-2008 11:22 
    ℹ️ Leggi di pi su @Alex ...

  10. #10
    willysmb non  in linea Scolaretto
    Dim lngTOT as Long
    Dim x as Long
    Dim strPoint as string
    Dim blCk as Boolean
    lngTOT=Len(TuaStringa)
    For x=1 To lngTOT
        strPoint=Mid$(TuaStringa,x,1)
        ' Questo Flag definisce se sei all'interno della stringa da estrarre
        blck=(strPoint="?" Or blck) And Not (strPoint=":") 
        If blck=True then
             If strPoint="1" Then 
                 ....
             End If
         End if
    Next
    
    No la parte di codice NON funziona correttamente e non riesco a saltarci fuori!mi estrae anche la "(" al primo "?"
    risultato = (( var1 == varX)||( var1 == varY))?(( var1 == 13.10)?2:(( var1 ==27.50 )?3:1)):0
    

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Ricerca da VBA di una stringa all'interno di un'altra stringa
    Da giovepan nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 25-01-2017, 09:17
  2. Ricerca stringa in VB6
    Da gia nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 12-02-2009, 07:25
  3. ricerca stringa
    Da the.boss86 nel forum Visual Basic 6
    Risposte: 1
    Ultimo Post: 09-08-2005, 16:35
  4. Ricerca stringa in una listview
    Da nioMatrix nel forum Visual Basic 6
    Risposte: 14
    Ultimo Post: 01-07-2005, 21:44
  5. [ACCESS] Ricerca in una stringa
    Da Ken76 nel forum Microsoft Access
    Risposte: 2
    Ultimo Post: 15-03-2005, 16:58