Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    split con espressione regolare

    data una stringa del genere (senza apici):

    " 123 , 124 , , , 125 "

    volevo separare gli elementi delimitati da virgola, eliminando i caratteri spazio (\s) iniziali e finali, e non considerando gli elementi vuoti (sequenza di più virgole con spazi = una virgola).
    Il risultato dello split in questione dovrebbe essere:

    123
    124
    125

    mi dareste una mano?
    Pietro

  2. #2
    con un espressione regolare? mmm io lo farei così:

    codice:
    var str = "..."; //La tua stringa
    
    var pieces = str.split(",");
    
    var ret = [];
    
    for(var i = 0; i < pieces.length; i++){
      ret[i] = pieces[i].replace(/\s/g, '');
    }
    in ret dovrebbe esserci quello che vuoi.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ti ringrazio della risposta
    Anche io farei come te

    Però, devo ammettere, la mia domanda era per approfondire l'uso delle espressioni regolari, tanto potenti ma tanto ostiche da capire

    Provavo con (vado a memoria) :master:

    \s*[ ,]+\s*

    purtroppo sembra non funzionare

    Pietro

  4. #4
    Codice PHP:
    str.match(/\d+/g).join(","
    str.match(/\d+/g).join(",")


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da whisher
    Codice PHP:
    str.match(/\d+/g).join(","
    str.match(/\d+/g).join(",")


    Grazie, ciao
    Pietro

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.