【发布时间】:2010-10-25 04:18:39
【问题描述】:
我需要截断字符串的最后七个字符(存储在哈希中的字符串)。在 perl 中最简单的方法是什么?非常感谢!
【问题讨论】:
-
$hash{$key} = substr($hash{$key}, 0, -7); # 假设它以这种方式存储在您的哈希中,并且您希望替换它。
我需要截断字符串的最后七个字符(存储在哈希中的字符串)。在 perl 中最简单的方法是什么?非常感谢!
【问题讨论】:
与substr():
substr($string, 0, -7);
我建议您先阅读 substr() 上的 Perldoc 页面(我在上面链接过),然后再将其复制并粘贴到您的代码中。它可以满足您的要求,但 substr() 是一个非常有用且用途广泛的功能,我建议您了解可以使用它的所有内容(通过阅读文档)。
此外,在未来,请考虑在此处提问之前先在 Google 上搜索您的问题(或者,对于 Perl,请在 Perldoc 上查找)。您无需在此处提问即可找到有关此类事情的大量资源。不想放下你的问题,但它很简单,我想如果你尝试过,你可以自己找到答案。
【讨论】:
要删除最后 7 个字符:
substr($str, -7) = '';
或者有些不雅
substr($str, -7, length($str), '');
获取除最后 7 个字符之外的所有字符:
substr($str, 0, -7)
【讨论】:
使用 perl substr 函数,但将“长度”参数设为负数。示例:
#!/usr/bin/perl
my $string = "string";
$short = substr($string, 0, -3);
printf $short . "\n";
这将返回带有换行符的字符串“str”,因为我们指定截断最后三个字符。看看Perl documentation on substr()。
【讨论】: