比较perl中字符串的第二个数字

时间:2013-01-24 07:44:46

标签: perl

如何比较字符串的第一个数字除外?假设我有713和213,则返回13。
另一个例子:
518和21 =>没有结果
423和413 =>没有结果
315和215 => 15个
谢谢

2 个答案:

答案 0 :(得分:6)

你可以这样做:

if(substr($str1,1) eq substr($str2,1))

测试here

答案 1 :(得分:2)

substr运算符将为您提取子字符串。 substr的第二个参数是您想要的子字符串开头的偏移量,因此如果您想要第二个字符,则必须说substr $string, 1

此程序会获取您自己的数据,并将这两个数字放入$i$j。然后调用substr两次,将这些字符串的第二个字符复制到$i2$j2if语句比较这两个值并相应地打印输出。

use strict;
use warnings;

for (
    '518 and 21',
    '423 and 413',
    '315 and 215') {

  my ($i, $j) = /\d+/g;

  my $i2 = substr $i, 1;
  my $j2 = substr $j, 1;

  if ($i2 eq $j2) {
    print "$i and $j => $i2\n";
  }
  else {
    print "$i and $j => no result\n";
  }
}

<强>输出

518 and 21 => no result
423 and 413 => no result
315 and 215 => 15