Perl. Посимвольная работа со строками @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 5 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
McSimm Муж.
новый человек
0
Сообщения: 27
Зарегистрирован: 11.07.02
Откуда: Харьков
Заголовок сообщения: Perl. Посимвольная работа со строками
Сообщение Добавлено: 31 Октябрь 2002, 14:15:00 
Совсем начинающий в Perl.
Скажите пожалуйста, есть ли синтаксис, позволяющий обращаться к N-му символу строки (кроме Substr).

Спасибо.
GoBeer
новый человек
0
Сообщения: 256
Зарегистрирован: 07.11.01
Откуда: Донецк
Заголовок сообщения: Perl. Посимвольная работа со строками
Сообщение Добавлено: 1 Ноябрь 2002, 13:12:00 
Необычная задача для перла, возможно тебе стоит поближе познакомиться с регулярными выражениями. Примерно такой конструкцией можно получить N-ный символ (верить на слово не стоит, возможна ошибка):
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
#! /usr/bin/perl

my $s = "012345", $n = 3;
if ($s =~ /.?(.?)/)
{
print "$1\n";
} else {
print "строка короткая!\n";
}
</pre><HR></BLOCKQUOTE>
GoBeer
новый человек
0
Сообщения: 256
Зарегистрирован: 07.11.01
Откуда: Донецк
Заголовок сообщения: Perl. Посимвольная работа со строками
Сообщение Добавлено: 1 Ноябрь 2002, 13:16:00 
Упс! Форум проглотил фигурные скобки...
В третьей строке кода (if …) замени квадратные скобки на фигурные
<BLOCKQUOTE><font size="1" face="Verdana, Tahoma, sans-serif">code:</font><HR><pre>
#! /usr/bin/perl
my $s = "012345", $n = 3;
if ($s =~ /.[$n]?(.?)/)
{
print "$1\n";
} else {
print "строка короткая!\n";
}
</pre><HR></BLOCKQUOTE>

[ 01 Ноября 2002: Исправлено GoBeer ]
McSimm Муж.
новый человек
0
Сообщения: 27
Зарегистрирован: 11.07.02
Откуда: Харьков
Заголовок сообщения: Perl. Посимвольная работа со строками
Сообщение Добавлено: 1 Ноябрь 2002, 13:45:00 
Спасибо за разьяснение.
Значит нет такого синтаксиса. Просто не найдя в документации решил убедиться, спросив у знающих людей.
Задача действительно необычная и посимвольный анализ необходим. Разумеется, регулярные выражения тоже использую.
Проблему решил с помощью split('', $s)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Заголовок сообщения: Perl. Посимвольная работа со строками
Сообщение Добавлено: 1 Ноябрь 2002, 21:20:00 
Ты сделал правильно. Если хочется работать посимвольно, то нужно просто превратить строку в массив.

Делать же извлечение энного символа через regexp'ы можно. По-приколу. [img]images/smiles/icon_smile.gif[/img]
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 5 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100