Строка в массив на основе регулярного выражения - PullRequest
0 голосов
/ 18 февраля 2020

Я хотел бы разбить строку базы на регулярное выражение.

Ожидаемый ввод:

1. recipe description. 2. second step of the description that takes 30 minutes. 3. third step of the description that contain 20g of flour.

Теперь хотелось бы разбить строку на основе начального номера. Возможно ли это?

Ожидаемый результат:

[
"recipe description.",
"second step of the description that takes 30 minutes.",
"third step of the description that contain 20g of flour."
]

Я уже попробовал его с const steps = text.split(new RegExp("/^d./", "g"));, но это не ожидаемый результат, который я хотел бы получить.

1 Ответ

3 голосов
/ 18 февраля 2020

Попробуйте следующее:

var text = "1. recipe description. 2. second step of the description that takes 30 minutes. 3. third step of the description that contain 20g of flour.";
var steps = text.split(/\s*\d+\.\s*/g).slice(1);
console.log(steps)

Это разделяется на число, за которым следует полная остановка, возможно, с пробелами на обоих концах. Ваш текущий шаблон, кажется, пытается нацелиться на одиночный di git, появляющийся только в начале строки, и есть и другие проблемы.

Небольшое редактирование: вызов slice(1) для массива, возвращенного из split, чтобы удалить фиктивный пустой строковый элемент, полученный в результате разбиения по первому числу.

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