0

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

4

2 回答 2

6

有了这个你可以做到:

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

在这里测试

于 2013-01-24T07:51:06.403 回答
2

substr操作员将为您提取子字符串。的第二个参数substr是你想要的子字符串开始的偏移量,所以如果你想要第二个字符开始,你必须说substr $string, 1

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

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
于 2013-01-24T09:26:41.283 回答