0

文字列の最初の桁を除いて比較する方法は?
別の例: 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オペレーターが部分文字列を抽出します。の 2 番目のパラメーターsubstrは、必要な部分文字列の開始位置のオフセットであるため、2 番目の文字以降が必要な場合は、substr $string, 1.

このプログラムは、独自のデータを取得し、2 つの数値を と に入れ$iます$j。次にsubstrが 2 回呼び出され、これらの文字列の 2 文字目以降が and にコピーされ$i2ます$j2。このifステートメントは 2 つの値を比較し、それに応じて出力を出力します。

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 に答える