Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1

    interessante bug funzione split

    vi è mai capitato di usare la funzione split per separe dei campi di un file di testo? ebbene vi faccio un esempio pratico di questo bug:
    -un file txt con 4 campi per riga separato da normali comma (,) (non posso modificarlo)
    - leggolo riga per riga il file con <% MyString = objOpenFile.ReadLine %>
    - funzione split per dividere i 4 campi: <% split(MyString,",") %>

    BUG: quando il primo campo contiene anche una virgola esempio: "oggi, 5 agosto"

  2. #2
    dov'e' il bug?

  3. #3
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    infatti non è un bug
    è un uso improprio del delimitatore, scegli altri delimitatore per dividere i campi

  4. #4
    viene splittato anche il primo campo perchè contiene una virgola...

    file txt è cosi composto per semplicità faccio 2 campi:

    "campo1","campo2"

    se il campo1 ha una virgola all'interno la funz split lo scompone... ma deve sigh!

  5. #5
    Originariamente inviato da kluster
    infatti non è un bug
    è un uso improprio del delimitatore, scegli altri delimitatore per dividere i campi
    per Kluster: ho spiegato che non posso modificare il file txt...

  6. #6
    Originariamente inviato da gianvenezia
    viene splittato anche il primo campo perchè contiene una virgola...

    file txt è cosi composto per semplicità faccio 2 campi:

    "campo1","campo2"

    se il campo1 ha una virgola all'interno la funz split lo scompone... ma deve sigh!
    Non è un big, è il suo funzionamento...
    Come detto da kluster cambia delimitatore.

    Generalmente si usa | o ||

  7. #7
    ma non e' un bug! cambia delimitatore

  8. #8
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    Be' se sai che il problema è solo nella data che puo' quindi contenere una virgola e sai che il campo data è sempre nella prima posizione
    Splitta se l'array
    SE contiene 5 elementi
    unisci il primo con il secondo
    e gli altri li leggi normalmente
    altrimenti
    fai come fai di solito


    cmq è solo una pezza al codice, vedi se puoi avere i permessi di modifica al file

  9. #9
    X kluster:
    purtroppo non so quante virgole ci possono essere...
    avevo pensato:
    di fare lo split di 3 caratteri: ","

    - MyArray = split(MyString,"",")

    ma dà errore , allora ho provato:

    -MyArray = split(MyString,"”,”")

    non dà errori ma non separa come se le virgolette " non corrispondona a #8221;

    qualcuno lo sa che carattere devo usare per provare?

  10. #10
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ti interessa quante virgole ci sono l'importante è che che in quelle stringhe ci sia una logica.
    Se la prima parte delle righe del file di testo contengono SEMPRE una data (e quindi una virgola al loro interno), ti è sufficiente unire i primi due elementi dell'array indipendentemente da quante altre virgole possano esserci DOPO la data.

    Altrimenti non c'è logica e quindi la split non ti serve.

    Roby

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.