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

标签 javascript arrays string split

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

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

最佳答案

一种可能性是从匹配而不是拆分的 Angular 来考虑这个问题。您可以按照以下顺序匹配引号或单词之间的内容:

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

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

关于javascript - 如何使用 .split 将字符串转换为数组但忽略 js 中的引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55043953/

相关文章:

Javascript - 将匿名函数传递给 Promise.all

javascript - 样式化和折叠无序列表

php - "Build"JS变量

php - 用字符串定义数组中的位置

javascript - 如何在 Mongodb 中对多个数组使用聚合映射和过滤器

c# - 在字符串中的两个值之间查找单词

javascript - 相对于鼠标位置从其中心缩放图像

二维数组上的缓存未命中

javascript - 如何根据 JS 中的数字从数字创建数组?

c++ - 为什么 setw 和宽度不适用于 ostringstream?