Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Doppio split

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202

    Doppio split

    Ciao a tutti,

    data la seguente stringa
    codice:
    data = "pippo|123:pluto|234:paperino|345";
    qualcuno mi sa dire il codice + pulito ed efficente x avere un risultato del tipo
    codice:
    m[0][0] = "pippo";
    m[0][1] = 123:
    m[1][0] = "pluto";
    m[1][1] = 234;
    m[2][0] = "paperino";
    m[2][1] = 345;
    ?? Grazie

  2. #2
    Non so se sia il pių efficiente cmq prova questo:

    codice:
    data = "pippo|123:pluto|234:paperino|345";
    dat=[];
    data.replace(
    	/(.*?)(?=:|$)/g
    	,function (myStr,backRef) { if(backRef!="")dat.push(backRef.split("|")); return backRef; }
    	);
    dat č l'array con la stringa splittata.
    dA .. foto di viaggio
    L'esperienza č il tipo di insegnante pių difficile.
    Prima ti fa l'esame, e poi ti spiega la lezione.

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da AnĒkin
    Non so se sia il pių efficiente cmq prova questo:

    codice:
    data = "pippo|123:pluto|234:paperino|345";
    dat=[];
    data.replace(
    	/(.*?)(?=:|$)/g
    	,function (myStr,backRef) { if(backRef!="")dat.push(backRef.split("|")); return backRef; }
    	);
    dat č l'array con la stringa splittata.
    Inserita nelle discussioni utili
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Originariamente inviato da br1
    Inserita nelle discussioni utili
    allora mi permetto di aggiungere la versione senza replace, dato che nei vecchi browser la function come secondo argomento non č supportata e/o non si comporta in modo standard
    codice:
    for(var dat=data.split(":"),i=0;i<dat.length;i++)dat[i]=dat[i].split("|");
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    grazie x le risposte

    Avevo risolto con
    codice:
    dat=data.split(":");
    
    for(i=0;i<dat.length;i++) {
        dat[i]=dat[i].split("|");
    }
    che poi sarebbe praticamente uguale alla versone di andr3a

  6. #6
    Originariamente inviato da Dexx
    grazie x le risposte

    Avevo risolto con
    codice:
    dat=data.split(":");
    
    for(i=0;i<dat.length;i++) {
        dat[i]=dat[i].split("|");
    }
    che poi sarebbe praticamente uguale alla versone di andr3a
    eh no, manca il var

    scherzo ma di solito č importante
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    Tiro su questo 3d per chiedere lumi su come trasformare una stringa in una matrice multidimensione. Mi spiego:
    ho la seguente stringa:

    PIPPO - 120 - 22/06/84 - SI | PLUTO - 222 - 14/11/79 -SI | SERGIO - 111 - 14/01/80 - NO

    notare i separatori di riga: "|" e di colonna:" - " e notare anche che la matrice non č quadrata (2x2, 3x3, 4x4, ecc) ma rettangolare (5x7, 6x4, ecc)

    Qualcuno mi da una mano? A me stanno venendo su i nervi con sti cicli "for" e sti "spli"...
    grazie!
    ciao ciao
    pauli

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2001
    Messaggi
    202
    Codice PHP:
    data="PIPPO - 120 - 22/06/84 - SI | PLUTO - 222 - 14/11/79 -SI | SERGIO - 111 - 14/01/80 - NO"


    for(var dat=data.split("|"),i=0;i<dat.length;i++)
        
    dat[i]=dat[i].split(" - ");


    alert (dat[0][0]);  // PIPPO
    alert (dat[0][1]);  // 120
    alert (dat[0][2]);  // 22/06/84 

  9. #9
    Originariamente inviato da Dexx
    Codice PHP:
    data="PIPPO - 120 - 22/06/84 - SI | PLUTO - 222 - 14/11/79 -SI | SERGIO - 111 - 14/01/80 - NO"


    for(var dat=data.split("|"),i=0;i<dat.length;i++)
        
    dat[i]=dat[i].split(" - ");


    alert (dat[0][0]);  // PIPPO
    alert (dat[0][1]);  // 120
    alert (dat[0][2]);  // 22/06/84 
    Accidenti, grazie! sono io che vado sempre a complicarmi la vita..ciao ciao

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.