Potrzebuję pomocy w dzieleniu ciągu znaków w javascriptie przez spację (""), ignorując spację w cudzysłowie.javascript podzieliła ciąg znaków według spacji, ale zignoruj spację w cudzysłowach (zauważ, że nie należy również dzielić dwukropka)
Mam ten ciąg:
var str = 'Time:"Last 7 Days" Time:"Last 30 Days"';
spodziewałbym mój łańcuch zostanie podzielona na 2:
['Time:"Last 7 Days"', 'Time:"Last 30 Days"']
ale mój kod dzieli na 4:
['Time:', '"Last 7 Days"', 'Time:', '"Last 30 Days"']
to mój kod:
str.match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
Dzięki!
Chociaż powiązane pytanie _related_ , to _nie jest duplikatem: _Te_ pytanie jednoznacznie wymaga nie cytowanych ciągów, które bezpośrednio sąsiadują z podwójnym qu oted string (np. 'foo:" bar none "') do rozpoznania jako znacznik _single_ (a także nie wspomina o konieczności obsługi escaped cudzysłowów.) – mklement0