Как я могу превратить строку в массив с .split, но игнорировать кавычки в js - PullRequest
1 голос
/ 07 марта 2019

Поэтому я использую .split(" ") в js, чтобы превратить строку в массив с помощью пробелов в JS. Но, скажем, теперь у меня есть следующая строка: Howdy "How are you" bro, как я могу разделить строку по пробелам, но игнорировать вещи внутри кавычек (одинарных и двойных). Так что я могу выпустить что-то вроде этого:

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

1 Ответ

4 голосов
/ 07 марта 2019

Одна возможность - думать об этом с точки зрения соответствия, а не разделения.Вы можете сопоставлять вещи между кавычками или словами в таком порядке с чем-то вроде:

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

Если примеры становятся более сложными (например, вложенные кавычки), конечно, для этого могут потребоваться некоторые корректировки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...