Разделенная строка со скобками []

# #google-bigquery

Вопрос:

У меня есть строка 'attributes.inquiry_result[{name: tran type}]' , я хочу разделить ее таким образом, чтобы она возвращала массив ['attributes', 'inquiry_result', '{name: tran type}'] .

Я пробовал с 'attributes.inquiry_result[{name: tran type}]'.split(/[([^[]]*)]/); , но он не разбивается на точки, возвращает ['attributes.inquiry_result', '{name: tran type}']

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

Пожалуйста, помогите.

Комментарии:

1. Не могли бы вы предоставить свой текущий код?

2. Привет @Янник, это текущий код. но хочу разделить на точки, а также скобки. ‘атрибуты.запрос_результата[{имя: тип трана}]’.разделить(/[([^[]]*)]/);

3. "attributes.inquiry_result[{name: tran type}]".replace("]", "").split(/.|[/g) должно работать для точного заданного ввода.

4. Спасибо. Это сработало, как и ожидалось. 🙂

Ответ №1:

Вы можете использовать функцию разделения с регулярным выражением. Фильтр используется для удаления последнего пустого значения, так как ваша строка заканчивается символом»]».

 const string = 'attributes.inquiry_result[{name: tran type}]';  const result = string.split(/.|]|[/).filter(item =gt; item);  console.log(result);