Каталог статей
Главная » Статьи » Язык программирование Perl » Описание Языка Perl |
Разделение строки С помощью функции split строка может быть разделена на несколько частей, называемых подстроками. split /Шаблон/ строка, ограничение разделяет строку на подстроки.
Используя функцию split, интерпретатору Perl необходимо указать разделитель, в соответствии с которым будет определяться место разделения строки. Полученные в результате разделения подстроки возвращаются в форме списка, при этом разделитель из них удаляется. Пример: my splitfunc="Tim:Dino:David:Maya"; @splitList=slit/:/, $splitfunc; foreach (@splitlist) {print $splitfunc} Результат будет строка: TimDinoDavidMaya Одним из параметров функции split-это ограничение Его можно задавать целым положительным цислом. Пример: $slitfunc="Tim:Dina:David:Maya"; @splitlist=split/:/, $splitfunc, 3; print "@splitlist"; Результат: Tim Dina Davi:Maya Удаление последнего элемента строки Функции chop и chomp. Функции языка Perl chop и chomp предназначены для удаления последних символов строк. Наиболее часто эти функции употребляется при работе со строками, которые были считанный из файла или которые предназначены для записи в файлы. Весьма полезная функция chop используется для того, чтобы удалить последний символ строки. Например: $var="Hello world"; chop($var); Результат приведенного примера будет: Hello Worl Обратите внимание в качестве возвращаемой значений этой функции является отброшенный символ(приведенной выше примере Hello World это буква d). Если же применить функцию chop к списку, то она удалит последний символ каждой из входящей в список строк, однако возвратит значение символа, удаленного только лишь из последней строки. Функция chomp во многом похожа на функцию chop однако она удаляет только символы новой строки. Например: $var="Hello World\n"; chomp($var); # Удаление символа новой строки; Однако существует еще одна, более удобная форма использования chomp каждый раз при введении новой переменной в Perl можно использовать оператор присваивания. Perl сначала выполняет присваивание, а затем использует переменную так, как вы потребуете. chomp($var=<STDIN>); #Прочитает текст без символа новой строки $var<STDIN>; chomp ($var); Определение длины строки Функция Length Функция языка Perl length предназначена для определения длины строки, в Perl так же можно найти длину массива, а так же можно вычислить количество элементов, хранящихся в хеше. Если использовать функцию length применитедбно к числовому значению, то Perl автоматически преобразует это числовое значение в строку. Если при использовании функции length не будет указан ее входной параметр то она возвратит длину значения сохраненного в используемой по умолчанию специальной переменой $_ Например: $var="Hello World\n"; length $var #Определяет количество символов в строке. Для вычисления количество элементов массива следует назначить массиву скалярный контекст с помощью функции scalar @array=(element_1 element_2 element_3 element_4); print scalar(@array); #Будет 4 Для определения количества элементов хеша, его как массива необходимо использовать функции scalar и keys. Например: %hash=qw(element_1 element_2 element_3 element_4); print scalar keys(%hash); Изменения регистра символов или строки. lc- преобразует текст строки в нижний регистр. lcfirst - преобразует первый символ строки в нижний регистр. uc - преобразует текст строки в верхний регистр. ucfirst - преобразует первый символ строки в верхний регистр.
Например: print lc "HELLO WORLD\n"; print lcfirst "HELLO WORLD\n"; А также для изменения регистра текста в символьной строке можно воспользоваться управляющими последовательностями \u, \l, \U, \L, и \E. Форматирование строки функцией sprintf Функция sprintf служит для форматирования строки и предполагает использование тех же самых правил форматирования, что и функция printf (кроме необязательного файлового дескриптора). В качестве входных параметров ей необходимо передать два аргумента строку формата и список значений, которые следует форматировать. Правило форматирования указывается с помощью символа процента(%) и символа, определяющего тип форматирования. Например: my $var=sprint "%4d/%02d/%02d %2d:%02d:%02d", $yr, $mo, $da, $h, $m, $s; Помимо этого, функция sprintf часто применяется для форматирования чисел с определенным количеством знаков в дробной части. Например, правило форматирования %8s определяет, что соответствующее ему значение будет представлено в виде строки с минимальной длиной, равной 8 символам. Правило форматирования %.2f задает формат числа с плавающей запятой, при этом под его дробную часть отводиться часть два десятичных разряда. Ниже приведен список обозначений различных правил форматирования, которые могут быть применены к строке с помощью функции sprintf. c - один символ, задается кодом ACII. d - Десятичное целое (2, -5) е - Экспоненциальное представление числа, нижний регистр(2,53е -19) Е - Экспоненциальное представление числа, верхний регистр (2,53Е -19) f - Число с плывающей точкой (450,067) g - Число с плывающей точкой, экспоненциальное представление, нижний регистр (2,92Е -7) ld - Длинное десятичное целое (47483647) lu - Длинное безнаковое десятичное целое (42683201) lx - Длинное шестнадцатеричное целое (4ad3c2ff) 0 - Восьмиричное целое (276) Извлечение Подстроки Извлечь фрагмент строки можно путем осторожного применения регулярного выражения, но если этот фрагмент всегда находится на известной позиции, такой метод не эффективен. В этом случае удобнее использовать функцию substr. Например: $var="Hello World"; print substr($var, 6); print "\n \n"; Результатом приведенного выше примера будет строка: World Приведенного выше примера видно что нумерация символов в строке начинается с нуля(0). Однако минус этой функции - это изменение значения специальной переменной $[ приведет к тому, что нумерация символов строки будет уже не с нуля, а с какого нибудь другого числа. Так же функция substr помимо операции извдечения подстроки, позволяет указать замещающий эту подстроку текста, а так же длина замещающего текста необязательно должна совпасть с длиной замещаемой подстроки. Что особенно полезно в том случае, когда необходимо изменить содержимое исходной строки. Используя функцию substr, в качестве числа, определяющего позицию подстроки в строке, можно указать отрицательное число. Если ввести отрицательное число на месте параметра, определяющего положение строки в строке, то Perl будет отсчитывать позицию начала подстроки не с начала исходной строки, а с ее конца. | |
Просмотров: 1228 | Комментарии: 1
| Теги: |
Всего комментариев: 0 | |