powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Perl) Замена 1-ого символа в строке по условию
6 сообщений из 6, страница 1 из 1
(Perl) Замена 1-ого символа в строке по условию
    #33024979
Partos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здраствуйте...

Я очень слабо разбираюсь в Perl и его регулярных выражениях...подскажите плиз:

Достаю из БД значения вот так:

my $dbh = $session->dbh($m_sess);
my $sth;
my @records;

$sth = $dbh->prepare(qq{
бла-бла-бла....какой-то запрос
});

while(my $a = $sth->fetchrow_arrayref)
{
push @records, {
Column1 => $a->[0],
};
}

Как вы видите значение $a->[0] изменять нельзя, поскольку оно только для чтения. Подскажите пожалуйста, как мне сделать чтобы если в $a->[0] первая буква "Р" то в Column1 поместить такое же значение, только первую букву "Р" заменить например на "Д". Если в строке на других позициях встречаются буквы "Р" то их трогать не надо. Честно говоря с помощью регулярных выражений я не могу придумать как это сделать (плохо в них разбираюсь...). Или для очуществления этого лучше написать функцию??? Тогда подскажите как обратиться к первой букве строки? Можно так же как и в Паскале:

my $s='Р3.00 Вася Рёбрышкин'

if $s[1] eq 'Р'
{
....
}

Спасибо...
...
Рейтинг: 0 / 0
(Perl) Замена 1-ого символа в строке по условию
    #33025294
Deady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
первая буква:

$letter = substr($text, 0, 1);
...
Рейтинг: 0 / 0
(Perl) Замена 1-ого символа в строке по условию
    #33025467
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
$var="Р3.00 Вася Рёбрышкин";
$var=~s/^[Р]/Д/;
...
Рейтинг: 0 / 0
(Perl) Замена 1-ого символа в строке по условию
    #33025482
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если регистр имеет значение
Код: plaintext
$var=~s/^[Р]/Д/i;
...
Рейтинг: 0 / 0
(Perl) Замена 1-ого символа в строке по условию
    #33025698
Partos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
(Perl) Замена 1-ого символа в строке по условию
    #33030871
g613
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай aka Motodorесли регистр имеет значение
Код: plaintext
$var=~s/^[Р]/Д/i;


нет ни какого смысла в данном случае для [], если уж на то пошло то я соглашусь, что [] целесообразно использовать например для `$var =~ s/^[Рр]/Д/;` именно без /i - так быстрее. А один символ в скобочки заключать - незачем...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (Perl) Замена 1-ого символа в строке по условию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]