javascript aviod расщепление подстроки - PullRequest
0 голосов
/ 10 июля 2019

Я работаю над Javascript, и моя строка содержит

"delhi,bangalore,pune,otherCities(chennai,mumbai)"

и я пытаюсь разбить массив. Это прекрасно работает для меня arr.split(",")

 ["delhi", "bangalore", "pune", "otherCities(chennai", "mumbai)"]

но когда мы внимательно наблюдаем, что otherCities содержит 2 значения, оно также разделяется на 2 различных значения. чего не ожидается

Мой ожидаемый результат ["delhi", "bangalore", "pune", "otherCities(chennai, mumbai)"].

Я не уверен, как этого добиться. Есть ли другой способ добиться этого?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Вы можете использовать Regex. Например:

const cities = "delhi,bangalore,pune,otherCities(chennai,mumbai)";
const citiesSplitted = cities.split(/,(?![^()]*\))/);
console.log(citiesSplitted);
1 голос
/ 10 июля 2019

Использование Regex split

REGEX DEMO

let str = "delhi,bangalore,pune,otherCities(chennai,mumbai)"

console.log(str.split(/,(?![^\(]*[\)])/))
...