Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.04.2022, 16:08
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

ksa, а почему не указать регулярку прямо в split ?
var val = `[]Заголовок

 


Некий текст описывающий товар.
Продолжение описания на другой строке.




[t]Название; Значение
Жиры;  10
Белки;20

[]Другой заголовок

Простой текст для рассказа о товаре
`
const re = /(\n\s*\n)+/g
console.log(JSON.stringify(val))
const str = val.replace(re, '*')
console.log(JSON.stringify(str))
console.log('Есть лишние элементы', val.split(re))
console.log('Так как нужно', str.split('*'))

console.log('в один присест:', val.split(/\n\s*\n/))


ADD: а, вижу что пытался, но как-то странно...

Последний раз редактировалось Белый шум, 18.04.2022 в 16:13.
Ответить с цитированием
  #12 (permalink)  
Старый 18.04.2022, 16:52
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от рони
какой браузер?
Опера.
Ответить с цитированием
  #13 (permalink)  
Старый 18.04.2022, 16:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Сообщение от Белый шум
но как-то странно...
Обычно я делаю регулярку, проверяя ее на replace(), как правильно заменяется - перехожу к split()...

А тут replace() заменяет как надо, а split() давал странный для меня результат.
Ответить с цитированием
  #14 (permalink)  
Старый 18.04.2022, 19:23
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

ksa,
split() ищет, а не заменяет, поэтому флаг 'g' для него как-то вообще не к месту. Странно что вообще какой-то результат выдал.

Ну и '+' в конце регулярки не имеет смысла в обоих случаях, т.к. '*' сам по себе жадный: https://learn.javascript.ru/regexp-greedy-and-lazy
Ответить с цитированием
  #15 (permalink)  
Старый 18.04.2022, 22:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,227

Это все уже учли...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax. Как сделать загрузку изображений, отображение, удаление как на Авито wowtschuk AJAX и COMET 1 07.03.2017 01:34
Акардион меню из чекбоксов и списка, как сделать подсветку текущего элемента OliLoi jQuery 0 08.11.2016 08:15
как сделать чтобы в popup окне показывалось картинка? sarik Общие вопросы Javascript 31 15.03.2013 13:12
Как сделать: если один инпут заполнен, то в другой вводить нельзя? Fenec Events/DOM/Window 4 12.11.2010 19:32
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24