Как я могу удалить последние семь символов значения хеша в Perl? - PullRequest
19 голосов
/ 11 мая 2009

Мне нужно обрезать последние семь символов строки (строки, которая хранится в хэше). Какой самый простой способ сделать это в Perl? Большое спасибо заранее!

Ответы [ 3 ]

40 голосов
/ 11 мая 2009

С substr():

substr($string, 0, -7);

Я предлагаю вам прочитать страницу Perldoc на substr() (на которую я ссылался выше), прежде чем просто скопировать и вставить ее в свой код. Он выполняет то, что вы просили, но substr() - очень полезная и универсальная функция, и я предлагаю вам понять все, для чего вы можете ее использовать (прочитав документацию).

Кроме того, в будущем, пожалуйста, подумайте о поиске в Google вашего вопроса (или, в случае Perl, поиска его на Perldoc), прежде чем задавать его здесь. Вы можете найти большие ресурсы на такие вещи, не задавая вопросов здесь. Не задавать ваш вопрос, но это довольно просто, и я думаю, что если бы вы попытались, вы могли бы найти ответ самостоятельно.

10 голосов
/ 11 мая 2009

Чтобы удалить последние 7 символов:

substr($str, -7) = '';

или несколько не элегантный

substr($str, -7, length($str), '');

Чтобы получить все, кроме последних 7 символов:

substr($str, 0, -7)
6 голосов
/ 11 мая 2009

Используйте функцию perl substr, но аргумент "length" будет отрицательным. Пример:

#!/usr/bin/perl

my $string = "string";
$short = substr($string, 0, -3);
printf $short . "\n";

Это вернет строку "str" ​​с новой строкой, так как мы указали усечение последних трех символов. Взгляните на документацию Perl о substr () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...