我需要帮助在空格("")中在javascript中拆分字符串,忽略引号表达式中的空格.
我有这个字符串:
var str = 'Time:"Last 7 Days" Time:"Last 30 Days"';
Run Code Online (Sandbox Code Playgroud)
我希望我的字符串被拆分为2:
['Time:"Last 7 Days"', 'Time:"Last 30 Days"']
Run Code Online (Sandbox Code Playgroud)
但我的代码分为4:
['Time:', '"Last 7 Days"', 'Time:', '"Last 30 Days"']
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
str.match(/(".*?"|[^"\s]+)(?=\s*|\s*$)/g);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我目前有这个正则表达式来按所有空格分割字符串,除非它在引用的段中:
keywords = 'pop rock "hard rock"';
keywords = keywords.match(/\w+|"[^"]+"/g);
console.log(keywords); // [pop, rock, "hard rock"]
Run Code Online (Sandbox Code Playgroud)
但是,我也希望可以在关键字中使用引号,如下所示:
keywords = 'pop rock "hard rock" "\"dream\" pop"';
Run Code Online (Sandbox Code Playgroud)
这应该回来了
[pop, rock, "hard rock", "\"dream\" pop"]
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最简单方法是什么?