基本上我有一些非常长的变量,只需要前几个字符。
我尝试使用此正则表达式,但它不起作用。
$var =~ s/(^.{20})?/$1/g;
它没有做任何事情。
任何帮助都将不胜感激。
答案 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/;