【问题标题】:How can I remove the last seven characters of a hash value in Perl?如何在 Perl 中删除哈希值的最后七个字符?
【发布时间】:2010-10-25 04:18:39
【问题描述】:

我需要截断字符串的最后七个字符(存储在哈希中的字符串)。在 perl 中最简单的方法是什么?非常感谢!

【问题讨论】:

  • $hash{$key} = substr($hash{$key}, 0, -7); # 假设它以这种方式存储在您的哈希中,并且您希望替换它。

标签: perl string


【解决方案1】:

substr():

substr($string, 0, -7);

我建议您先阅读 substr() 上的 Perldoc 页面(我在上面链接过),然后再将其复制并粘贴到您的代码中。它可以满足您的要求,但 substr() 是一个非常有用且用途广泛的功能,我建议您了解可以使用它的所有内容(通过阅读文档)。

此外,在未来,请考虑在此处提问之前先在 Google 上搜索您的问题(或者,对于 Perl,请在 Perldoc 上查找)。您无需在此处提问即可找到有关此类事情的大量资源。不想放下你的问题,但它很简单,我想如果你尝试过,你可以自己找到答案。

【讨论】:

  • "perldoc -q string" 在这种情况下会很有帮助。 -q 选项在常见问题解答中搜索并导致“如何访问或更改字符串的 N 个字符?”其中包含 Abdel 寻求的答案。
【解决方案2】:

要删除最后 7 个字符:

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

或者有些不雅

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

获取除最后 7 个字符之外的所有字符:

substr($str, 0, -7)

【讨论】:

    【解决方案3】:

    使用 perl substr 函数,但将“长度”参数设为负数。示例:

    #!/usr/bin/perl
    
    my $string = "string";
    $short = substr($string, 0, -3);
    printf $short . "\n";

    这将返回带有换行符的字符串“str”,因为我们指定截断最后三个字符。看看Perl documentation on substr()

    【讨论】:

      猜你喜欢
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 2013-08-31
      • 2016-08-29
      • 2023-04-09
      相关资源
      最近更新 更多