如何从Perl中的变量值中删除$字符?

sma*_*boy -11 perl

假设我有一个变量,它被赋予一些包含$字符的字符串.例如:

$a="$192.168.1.1";
Run Code Online (Sandbox Code Playgroud)

我必须$使用Perl 删除该字符.文本被隐式分配给变量.

怎么做?

$v =~ s/\$//;  # this does not work for me :(




$="$192.168.1.1"
$ips =~ substr$ips ,1);
 push (@planets,  $ips 
Run Code Online (Sandbox Code Playgroud)

Aln*_*tak 7

首先,请注意,您不能使用双引号来分配$a,因为$192将进行插值,几乎肯定会失败.

您应该始终使用use strict;use warnings;任何 Perl代码中.如果您确实尝试过这项任务,它会发出警告.

因此,如果您的作业是明确的,请改用单引号:

my $a = '$192.168.1.1';
Run Code Online (Sandbox Code Playgroud)

然后,如果$总是在那里,只需使用substr- 它将比使用正则表达式快得多.

$a = substr($a, 1);
Run Code Online (Sandbox Code Playgroud)

如果你不确定$那里会有什么,那么如果你将它应用于正确的变量,你上面使用的行确实有用:

$a =~ s/\$//;
Run Code Online (Sandbox Code Playgroud)

或者:

$a =~ tr/$//d;
Run Code Online (Sandbox Code Playgroud)

  • 那段代码毫无意义.阅读Jonathan和我写的内容,然后给自己写一本好书.或者好几个. (4认同)