Разбить строку, а также получить разделитель в массиве - PullRequest
0 голосов
/ 08 мая 2018

Я хочу разбить строку следующим образом:

"Street:§§§§__inboundRow['Adress']['Street']__§§§§ und Postal: §§§§__inboundRow['Adress']['Postal']__§§§§ super"

Мой код в Groovy:

def parts = ret.split(/§§§§__inboundRow.+?__§§§§/)

Итак, массив, который я получаю, -

["Street:", " und Postal: ", " super"]

Но я хочу:

["Street:", "§§§§__inboundRow['Adress']['Street']__§§§§", " und Postal: ", "§§§§__inboundRow['Adress']['Postal']__§§§§", " super"]

Как мне этого добиться?

1 Ответ

0 голосов
/ 08 мая 2018

Попробуйте разделить на позитивный взгляд. Поскольку вы хотите сохранить разделители, которые вы используете для разделения, вероятно, здесь стоит искать обходной путь.

var str = "String1:§§§§__inboundRow[Test]__§§§§andString2:§§§§__inboundRow[Test1]__§§§§";
console.log(str.split(/(?=§§§§__inboundRow\[Test\d*\]__§§§§|and)/));

Я не знаю, какой именно язык вы используете, но это должно работать везде, где вы можете разделить с помощью регулярных выражений, с осторожностью (JavaScript, безусловно, поддерживает это). Использование шаблона для разделения было:

(?=§§§§__inboundRow\[Test\d*\]__§§§§|and)

Это говорит о разделении, когда мы можем утверждать, что ниже следует либо текст §§§§__inboundRow[Test\d*]__§§§§, либо and.

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