我如何使用.split将字符串转换为数组但忽略js中的引号

时间:2019-03-07 12:35:28

标签: javascript arrays string split

所以我在JS中使用.split(" ")将字符串通过JS中的空格转换为数组。但是,现在让我说一下,我有以下字符串:Howdy "How are you" bro,如何用空格分隔字符串,却忽略引号内的内容(单引号和双引号)。这样我就可以得出这样的结果:

[
    "Howdy",
    "\"How are you\"",
    "bro"
]

1 个答案:

答案 0 :(得分:4)

一种可能性是根据匹配而不是拆分来考虑。您可以按以下顺序将引号或单词之间的内容匹配:

let s = 'Howdy "How are you" bro'
let a = s.match(/\".+?\"|\S+/g)
console.log(a)

如果示例变得更加复杂(例如嵌套引号),则可能需要进行一些调整。