Удаление пропусков в обоих концах строки
Проблема
В полученную строку могут входить начальные или конечные пропуски. Требуется удалить их.
Решение
Воспользуйтесь парой подстановок:
$string =~ s/^\s+//;
$string =~ s/\s+$//;
Также можно написать специальную функцию, которая возвращает нужное значение:
$string = trim($string);
@many = trim((@many);
sub trim {
my @out = @_;
for (@out) {
s/^\s+//;
s/\s+$//;
}
return wantarray ? @out : $out[0];
}
Комментарий
У этой проблемы имеются различные решения, однако в большинстве случаев приведенный вариант
является наиболее эффективным.
Для удаления последнего символа из строки воспользуйтесь функцией
chop. В версии 5 была добавлена функция
chomp, которая удаляет последний символ в
том и только в том случае, если он содержится в
переменной $/ (по умолчанию — "\n"). Чаще всего она применяется для удаления завершающего
символа перевода строки из введенного текста:
# Вывести полученный текст заключенным в ><
while(<STDIN>) {
chomp;
print ">$_<\n";
}
См. такжеОписание оператора s///, описание функций
chop и
chomp
Proverte kod v komentariyah gde pro list tam oshibki detskie
Оставить комментарий:
|
|