Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Разбить строку в массив по несколько символов (https://javascript.ru/forum/misc/51820-razbit-stroku-v-massiv-po-neskolko-simvolov.html)

BaBaKa 20.11.2014 20:55

Разбить строку в массив по несколько символов
 
Доброго времени суток!

У меня есть некоторая строка str, мне нужно разбить ее по 4 символа от начала в массив arr. Если кол-во символов в строке не делиться нацело, то в последнем элементе массива будет те символы что остались.

Например длина строки 17: 4-4-4-4-1

Помогите, пожалуйста.

P.S. только javascript, без библиотек

krutoy 20.11.2014 21:05

re=/(.{4}|.)/g
str="foobar"
alert(str.match(re))

Не пойдет?

BaBaKa 20.11.2014 21:10

а как занести это в массив?

рони 20.11.2014 21:11

BaBaKa,
var str = 'У меня есть некоторая строка str, мне нужно разбить ее по 4 символа от начала в массив arr',
arr = str.match(/(.{1,4})/gim) || '';
   alert(arr);

рони 20.11.2014 21:13

Цитата:

Сообщение от krutoy
Не пойдет?

нет

krutoy 20.11.2014 21:14

Цитата:

Сообщение от BaBaKa
а как занести это в массив?

Это уже массив, просто присвой. var arr=str.match(re)

BaBaKa 20.11.2014 21:15

спасибо, сейчас попробую

Aetae 20.11.2014 21:16

'123456789'.match(/[\S\s]{1,4}/g)
Ибо перенос строки.

krutoy 20.11.2014 21:16

рони,
, а ты не подскажешь, зачем ты используешь флаг i?

Aetae 20.11.2014 21:19

Цитата:

Сообщение от krutoy (Сообщение 342056)
рони,
, а ты не подскажешь, зачем ты используешь флаг i?

За тем же, зачем и скобки. Шоб було.)

рони 20.11.2014 21:25

Цитата:

Сообщение от krutoy
, а ты не подскажешь, зачем ты используешь флаг i?

ваш код часто неуниверсален, решает только конкретную задачу, шаг влево в право, нужен новый код, а чтобы его понять ещё надо постаратся, чтоб непопасть с ним в ... + словоблудие

мне гораздо приятнее код
Цитата:

Сообщение от Aetae
'123456789'.match(/[\S\s]{1,4}/g)

а про i да он тут погоды не делает, но и ошибок не даст.

BaBaKa 20.11.2014 21:29

Мне за переносы переживать не нужно, потому что на начале все символы кроме чисел удаляються)


Часовой пояс GMT +3, время: 20:34.