Первый сайт на Perl




Функции для работы со строками - часть 6


в строку 'Этот безумный, безумный, безумный, безумный мир!' = 7 Позиция последнего вхождения подстроки 'безумный'

в строку 'Этот безумный, безумный, безумный, безумный мир!' = 37 Позиция последнего перед позицией 7 вхождения подстроки 'безумный'

в строку 'Этот безумный, безумный, безумный, безумный мир!' = 7

Функция substr ()

substr EXPR, OFFSET [,LENGTH [,REPLACEMENT ]]

извлекает из выражения EXPR подстроку и возвращает ее. Возвращаемая подстрока состоит из LENGTH символов, расположенных справа от позиции OFFSET. Если параметр LENGTH опущен, возвращается вся оставшаяся часть выражения EXPR. Если параметр LENGTH отрицательный, его абсолютное значение задает количество символов от конца строки, не включаемых в результирующую подстроку. Если параметр OFFSET имеет отрицательное значение, смещение отсчитывается с конца строки. Функция substr о может стоять в левой части операции присваивания. Например, в результате выполнения операторов

$Str = "Язык Pascal"; substr($Str, 5,6) = "Perl";

переменная $str получит значение "язык Peri". Тот же результат будет достигнут, если указать параметр REPLACEMENT, значение которого будет подставлено в EXPR вместо выделенной подстроки. Сама подстрока в этом случае возвращается в качестве значения функции substr ().

#!/bin/peri

# Исходная строка

$Str = "Карл у Клары украл кораллы";

$0ffset = 13;

print "Исходная строка:'$Str'\n";

# Смещение 13, длина подстроки не задана

$Substr = substr $Str, $Offset;

print "Смещение $0ffset, длина подстроки не задана, результат:\n";

print "$Substr\n";

# Смещение 13, длина подстроки +5

$Substr = substr $Str, $0ffset, 5;

print "Смещение $0ffset, длина подстроки +5, результат:\n";

print "$Substr\n"; /

# Смещение 13, длина подстроки -1 \

$Substr = substr $Str, $0ffset, -1;

print "Смещение $0ffset, длина подстроки -1, результат:\n";

print "$Substr\n";

# Отрицательное смещение -7, длина подстроки +7




Содержание  Назад  Вперед