Разбить текст на строки если встретится число
Есть однострочный текст "1. Разработать план мероприятий и ни чего не делать. 2. Повторно напиться 'Охоты'. 3. Выполнить какую нить задачу."
Задача привести его в вид
- Разработать план мероприятий и ни чего не делать.
- Повторно напиться 'Охоты'.
- Выполнить какую нить задачу.
const text = "1. Разработать план мероприятий и ни чего не делать. 2. Повторно напиться 'Охоты'. 3. Выполнить какую нить задачу."
function disassembleText(text) {
const regexp = `/\d/g`;
var dessembler = text.split(' ');
for (var key of dessembler) {
var test = key.replace(regexp, '\n');
console.log(test);
}
}
console.log(disassembleText(text))
Попытался через регулярные выражения, но метод replace не работает. Или не правильно экранирую регулярное выражение.
Ответы (3 шт):
Автор решения: SwaD
→ Ссылка
Можно воспользоваться методом replace без каких либо дополнительных разбиений строки в массив
const text = "1. Разработать план мероприятий и ни чего не делать. 2. Повторно напиться 'Охоты'. 3. Выполнить какую нить задачу."
console.log(text.replace(/(\d)/g, '\n$1'))
Автор решения: Qwertiy
→ Ссылка
function disassembleText(text) {
return text.match(/(?:\d+\.)?(?:(?!\d+\.).)+/g)?.join("\n") || text
}
console.log(disassembleText("1. Разработать план мероприятий и ничего не делать. 2. Повторно напиться 'Охоты'. 3. Выполнить какую нить задачу."))
console.log(disassembleText("1. Разработать план мероприятий и ничего не делать."))
console.log(disassembleText("Разработать план мероприятий и ничего не делать."))
console.log(disassembleText("Разработать 2 плана мероприятий 123. и ничего не делать."))
console.log(disassembleText(""))
Автор решения: ksa
→ Ссылка
Можно и без скобок...
const text = "1. Разработать план мероприятий и ни чего не делать. 2. Повторно напиться 'Охоты'. 3. Выполнить какую нить задачу."
console.log(text.replace(/\d/g, '\n$&'))