3 / 3 / 1
Регистрация: 18.10.2009
Сообщений: 83
|
|||||||||||
1 | |||||||||||
Разделить строку, используя split12.04.2011, 18:17. Показов 11604. Ответов 4
Метки нет (Все метки)
Прошу помощи в регулярном выражении. Надо его использовать в функции split как разделитель.
Задача: отделить по четыре символа из строки в каждую "ячейку" массива. То есть: разбить эту строку: 1111222233334444555566667777888899990000 Вот так: 1111 2222 3333 4444 5555 6666 7777 8888 9999 0000 и поместить полученное в каждую "ячейку" массива отдельно. Я написал так:
0
|
12.04.2011, 18:17 | |
Ответы с готовыми решениями:
4
Метод Split, разделить строку на слова и каждое передать в функцию Как разделить строку на подстроки, без использования функции Split Для каждой строки, разделить строку в список слов с использованием split() и append() Разбить строку по делиметру, используя Split |
654 / 352 / 113
Регистрация: 11.12.2009
Сообщений: 508
|
||||||
12.04.2011, 18:40 | 2 | |||||
Сообщение было отмечено Памирыч как решение
Решение
А зачем вам split? Можно обойтись и без него:
1
|
3 / 3 / 1
Регистрация: 18.10.2009
Сообщений: 83
|
|
12.04.2011, 18:44 [ТС] | 3 |
ухтыы), спасибо,
незнал что так можно, я только учу perl), хороший язык)
0
|
5986 / 1995 / 323
Регистрация: 10.12.2013
Сообщений: 6,878
|
||||||
19.08.2017, 21:57 | 4 | |||||
РУБРИКА: ЛИСТАЯ СТАРЫЕ СТРАНИЦЫ
язык-то хороший, а в данном случае эффективнее всего использовать unpack:
Сообщение от blase
то тут всё дело в захватывающих скобках, которые для regex-аргумента split не нужны. Если бы скобок не было, вернуть он должен был массив из значений undefined ( напоминаю, что split - это функция, возвращающая несовпадающие фрагменты, то есть, для строки '12+34+56' и аргументом у split '+', вернутся несовпадающие с '+' фрагменты: 12, 34, 56. А для аргумента у split /./ вернутся 9 значений undefined ). Но скобки были, поэтому в выходной массив попали и собственно захваченные сепараторы 1111, 2222, 3333 итд. Строго говоря, если вернуться к моему примеру @array = split /./, "12+34+56" то никакие undefined в массив бы не вернулись, поскольку хвостовые undefined холодно выбрасывает сам split. Вернулся бы просто пустой массив. Чтобы они вернулись, надо было бы использовать трёхаргументную форму с отрицательным счётчиком: @array = split /./, "12+34+56", -1
0
|
5986 / 1995 / 323
Регистрация: 10.12.2013
Сообщений: 6,878
|
|
19.08.2017, 22:06 | 5 |
Да, а в начале-то надо было написать следующее:
функция split для задачи blase совсем не нужна.
0
|
19.08.2017, 22:06 | |
19.08.2017, 22:06 | |
Помогаю со студенческими работами здесь
5
Как разделить строку используя сплит Разделить строку на слова, используя указатели Разделить строку используя регулярные выражения Как разделить строку на разделители используя StringBuffer? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |