Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Eliminare numeri duplicati da una stringa

    Salve,

    da una query estraggo una serie di numeri interi che inserisco in una variabile. Da questa variabile devo eliminare i duplicati come posso fare ?

    (esempio variabile: 10 10 13 13 9 13 8 8)

    Grazie in anticipo
    Pippo Giacalone
    giacalone@tin.it

  2. #2
    1.splitta la stringa in un vettore
    2.scorri il vettore 1 e leggi il singolo elemento
    3.cerchi l'elemento in un vettore2: se non c'è lo inserisci

    un po' noioso ma funzia

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    19
    Passa la stringa a questa funzione

    codice:
    <%
    Public Function arrayDistinct(Stringa)
    arrayStringa = Split(Stringa, ",")
    If IsArray(arrayStringa) = True Then
    
    For ad = 0 To UBound(arrayStringa)
    
    For ad1 = ad To UBound(arrayStringa)
    If Trim(arrayStringa(ad)) = Trim(arrayStringa(ad1)) Then occorrenza = occorrenza + 1
    Next 
    
    If occorrenza < 2 Then
    arrayDistinct = arrayDistinct & Trim(arrayStringa(ad)) & ", "
    End If
    
    occorrenza = 0
    Next
    arrayDistinct = Left(arrayDistinct, Len(arrayDistinct)-2)
    Else
    arrayDistinct = Stringa
    End If
    
    End Function
    %>
    Ciao

  4. #4
    grazie ad entrambi, SDrago scusa come faccio a leggere la nuova variabile senza duplicati ?
    Pippo Giacalone
    giacalone@tin.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    19
    Supponiamo che tu abbia la stringa "1,4,6,4,3,6,8,9,1" non devi fare altro che passarla alla funzione e se vuoi impostarla in un altra variabile in questo modo:

    variabile = arrayDistinct("1,4,6,4,3,6,8,9,1")

    il valore di variabile sara la stringa senza duplicati.

  6. #6
    Grazie mille, adesso ho capito ....
    Pippo Giacalone
    giacalone@tin.it

  7. #7
    arrieccomi

    se io la nuova variabile volessi splittarla ?

    ID_TOUR2 = arrayDistinct(ID_TOUR)
    ID_TOUR3 = Split(ID_TOUR2,",")
    response.write(ID_TOUR3):response.end

    è giusto o sbaglio qualcosa, perchè mi da questo errore !!

    Response object error 'ASP 0106 : 80020005'
    Type Mismatch
    /Cerca.asp, line 0
    An unhandled data type was encountered.
    Pippo Giacalone
    giacalone@tin.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    19
    Perchè dopo che fai lo split lo trasformi automaticamente in un array e quindi per leggerlo devi fare un ciclo FOR

    codice:
    For i = 0 To uBound(ID_TOUR3)
    
    Response.Write ID_TOUR3(i)
    
    Next
    Ciao

  9. #9
    scusa ma sono riuscito a provarlo solo adesso ... nuovamente grazie
    Pippo Giacalone
    giacalone@tin.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.