| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Посимвольная обработка строк |
| Автор: qw1mb0 30.9.2011, 18:03 |
| Добрый день уважаемые форумчане. Хотел бы задать вопрос. Перед мной стоит задача в подробности которой я вдаваться не буду, но не могу придумать как реализовать 1 функцию. Например на вход подается строка a*a$ И я разбираю строку посимвольно, с помощью split. Допустим если "а"(буква) то выводиться 1 сообщение, если "*"(символ), то другое и в таком духе. split разбивает строку на массив символов. А есть такое условие, если допустим будет строка aa*a$, то увидев "аа" должно вывести другое сообщение. Как можно разбить строку так, что бы он сначала детектил повторяющиеся символы, а потом уже разбивал на массив. Заранее спасибо за помощь. |
| Автор: ginnie 30.9.2011, 18:20 | ||
qw1mb0, Вам это нужно?
|
| Автор: qw1mb0 30.9.2011, 18:37 | ||||
| ginnie, Впринципе да, но что-то у меня руки совсем кривые.... Вообщем более углубленно. Я пока сам додумался только до глобальной замены вида:
Где дальше полученная строка будет разбиваться split'ом и там поиск по шаблону, если 1 буква то 1 сообщение, если 1 цифра то другое, если ! (соответствует 2 и более цифрам) третье и если ?(2 и более буквам) четвертое:
Но что-то не так... Подскажите пожалуйста в чем может быть ошибка |
| Автор: ginnie 30.9.2011, 18:45 | ||
qw1mb0, попробуйте так
|
| Автор: tishaishii 30.9.2011, 21:25 | ||||
perl -n
Например:
|