Ho bisogno di aiuto per dividere una stringa in javascript dallo spazio (""), ignorando lo spazio all'interno delle virgolette espressione.javascript dividere la stringa per spazio, ma ignorare lo spazio tra virgolette (notare di non dividere per i due punti)
ho questa stringa:
var str = 'Time:"Last 7 Days" Time:"Last 30 Days"';
mi aspetto la mia stringa da dividere per 2:
['Time:"Last 7 Days"', 'Time:"Last 30 Days"']
ma il mio codice si divide per 4:
['Time:', '"Last 7 Days"', 'Time:', '"Last 30 Days"']
questo è il mio codice:
str.match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
Grazie!
Mentre la questione collegata è _related_ , è _non_ un duplicato: _Questa domanda richiede esplicitamente stringhe non quotate che si aggiungono direttamente al doppio qu stringhe oted (ad esempio, 'foo:" bar none "') per essere riconosciuto come un token _single_ (e inoltre non menziona la necessità di gestire le doppie virgolette.) – mklement0