获取句子中的单词

时间:2016-10-11 05:24:51

标签: javascript arrays regex

我有字符串 - <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(' ')

2 个答案:

答案 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+表示任何非空白字符的任何序列