LINUX.ORG.RU

Проблема со str.split(/regex/) в javascript

 ,


0

1

Hello, LORld!

Граждане джедаи javascript и регулярных выражений, надоумьте, пожалуйста, почему сплит так себя ведет?

var serviceString='33. Бактериологическое исследование отделяемого из носа, зева, пазухи на микрофлору, чувствительность к антибиотикам и антимикотическим препаратам: 1697.00 руб.';
var splittedString=serviceString.split(/((.){43})/);

И вот этот самый массив splittedString будет выглядеть вот таким образом:

,33. Бактериологическое исследование отделяе,е,,мого из носа, зева, пазухи на микрофлору, ч,ч,,увствительность к антибиотикам и антимикоти,и,ческим препаратам: 1697.00 руб.

Особое внимание прошу обратить на запятую в самом начале. А ведь я-то наивно полагал, что split() почикает мне строку кусками по 43 символа, а оставшееся засунет в последний элемент массива. Где просчитался?

★★

Он сплитит по паттерну, а сам паттерн выпиливает. Для такой нарезки как вам нужна не пригоден.

Vit ★★★★★
()
Ответ на: комментарий от Vit

а сам паттерн выпиливает

Тьфу ты, точно же! Спасибо большое!

kir64 ★★
() автор топика
Последнее исправление: kir64 (всего исправлений: 1)

Достичь необходимого удалось, заменив строку

var splittedString=serviceString.split(/((.){43})/);

на строку

var splittedString=serviceString.match(/((.){43})|(.+)/g);

kir64 ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.