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

发布于 2024-11-08 15:08:52 字数 148 浏览 0 评论 0原文

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

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

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

它对它没有任何作用。

任何帮助将不胜感激。

Basically I have some very long variables and need only the first few characters.

I tried using this regex, but it doesn't work.

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

It doesn't do anything to it.

Any help would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

早乙女 2024-11-15 15:08:52
$var = substr($var,0,20);

则更简单的:

substr($var,20) = '';

请注意,如果字符串少于 20 个字符,

会发出嘎嘎声。或使用替换(假设 5.10+):

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

或使用解包:

$var = unpack 'a20', $var;
$var = substr($var,0,20);

Note that the simpler:

substr($var,20) = '';

will croak if the string is less than 20 characters.

Or using substitution (assuming 5.10+):

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

Or using unpack:

$var = unpack 'a20', $var;
终遇你 2024-11-15 15:08:52
substr($var, 20) = "";

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

substr($var, 20) = "";

deletes characters beyond position 20 in $var.

少女七分熟 2024-11-15 15:08:52

这就是您可能想到的替换:

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

This is the substitution you probably had in mind:

$var =~ s/^(.{20}).*/$1/;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文