如何在Perl中将变量的长度减少到20个字符?

时间:2011-05-21 01:02:42

标签: regex perl

基本上我有一些非常长的变量,只需要前几个字符。

我尝试使用此正则表达式,但它不起作用。

$var =~ s/(^.{20})?/$1/g;

它没有做任何事情。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:12)

$var = substr($var,0,20);

请注意更简单:

substr($var,20) = '';
如果字符串少于20个字符,

将会变暗。

或使用替换(假设为5.10 +):

$var =~ s/^.{20}\K.+//s;

或者使用解包:

$var = unpack 'a20', $var;

答案 1 :(得分:3)

substr($var, 20) = "";

删除$var中位置20以外的字符。

答案 2 :(得分:2)

这是你可能想到的替代品:

$var =~ s/^(.{20}).*/$1/;