我有字符串 - <declare-styleable name="WalletFragmentOptions"><attr format="enum" name="theme">
<enum name="holo_dark" value="0"/>
<enum name="holo_light" value="1"/>
</attr><attr format="enum" name="environment">
<enum name="production" value="1"/>
<enum name="sandbox" value="0"/>
<enum name="strict_sandbox" value="2"/>
</attr><attr format="reference" name="fragmentStyle"/><attr format="enum" name="fragmentMode">
<enum name="buyButton" value="1"/>
<enum name="selectionDetails" value="2"/>
</attr></declare-styleable>
现在我想将它拆分为一个数组,但双引号中的单词应该被视为一个。
我已经尝试了My name is "foo bar" I live in New York
但需要一些帮助来处理双引号内的字符串。
我希望输出为input.split(' ')
答案 0 :(得分:6)
的内容
var str = 'My name is "foo bar" I live in New York';
console.log(str.split(/ |(".*?")/).filter(v=>v));
应该做的伎俩
答案 1 :(得分:1)
正则表达式代码 (?:".*")|\S+
就是这样做的。
(?:".*")
表示两个数学"
符号之间的任何序列
|
表示或
\S+
表示任何非空白字符的任何序列