Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Веб-программирование > Perl
Перезагрузить страницу Проблема с "универсальным разделителем" для split
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Truman Truman вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.09.2011
По умолчанию Проблема с "универсальным разделителем" для split - 01.09.2011, 11:15

Всем привет!

Не могу никак решить проблему... Нужно разобрать в массив строки с разделителем, разделитель заранее не известен, он находится в переменной $rzd.

для "-" работает:
$s="aaaaa-bb-cccccc";
$rzd="-";
@ar=split(/$rzd/,$s);

а вот для | не получается :-(
$s="aaaaa|bb|cccccc";

ни так:
$rzd="|";
@ar=split(/$rzd/,$s);

ни так:
$rzd="\|";
@ar=split(/$rzd/,$s);

(разбивает по символам и все)

хотя без переменной работает прекрасно!
@ar=split(/\|/,$s);

можно ли как-то решить эту проблему, чтобы разделителем можно было задать любой символ?
Ответить с цитированием
  (#2 (permalink)) Старый
Truman Truman вне форума
Новичок
 
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 01.09.2011
По умолчанию 06.09.2011, 22:45

эх... нету сейчас видимо тут спецов по Перлу :-(
Ответить с цитированием
  (#3 (permalink)) Старый
Auster Auster вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.12.2011
Адрес: Москва
По умолчанию 15.12.2011, 18:06

Просто заранее компилируйте регэксп:

Perl Код:
my $regexp = qr/\|/;
my $str = "aaaa|bbbb|cccc";

my @r = split $regexp, $str;
Так работает
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Появилось окно с ошибкой: "Insert the "Tray App" disk and click OK". Anita_2 Техническая поддержка 6 14.12.2014 14:20
Ставлю систему "с нуля" после сбоя. Какие "работы" по тестированию железа полезны? russcand Любые вопросы от новичков 14 01.09.2011 00:27
Инструкция по адресу "0x436b10f" обратилась к памяти "0x03793dac". ВИРУС???? skazka Windows XP 5 21.03.2010 01:21
помогите выбрать "ASRock P4i45PE" или "GigaByte GA-8PE800" Константин Материнские платы 2 06.12.2009 15:21
Как исправить "attempt to store duplicate value in unique index "RDB$INDEX_5" ?" devo4ka-nimfetka Другие СУБД 1 16.04.2009 09:58
Закрываются игры, появляется ошибка: "0xbe8787ba" или "0x3e89ce89" . ASUSTeK Техническая поддержка 42 19.02.2009 01:38
После подключения кнопок "power" и "reset" компьютер перестал включаться. Лаборант-Шурупов Любые вопросы от новичков 1 25.01.2009 15:15
Добавить кнопки "свернуть" и "восстановить" к окну готового dialog-based приложения Lesat Visual C++ 2 07.01.2006 04:34
Как сделать чтобы вместо кнопок "Да" и "Нет" высвечивалось украинсие "Так" и "Ні" Форсаж Delphi 5 19.07.2003 19:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов