2014-04-22 2 views
1
  • 한다고 가정 문자열 :펄 분할

    ABC-Digest-M2-2.03-04.01.00.05

  • 내가 두 "2.03-04.01.00.05"을 "ABC-다이제스트-M2"를 분할 할 및 문자열.

  • 처음으로 - 및 숫자 조합이 나타납니다. "- \ d".

  • 한 줄의 코드로 어떻게 할 수 있습니까?

답변

2

자리 표시를 사용하여 split을 사용하면 숫자를 사용하지 않고도이 작업을 수행 할 수 있습니다. 예 : 대시 -

perl -MData::Dumper -e 'print Dumper(
    split /-(?=\d)/, "ABC-Digest-M2-2.03-04.01.00.05", 2 
);' 
$VAR1 = 'ABC-Digest-M2'; 
$VAR2 = '2.03-04.01.00.05'; 
+0

세상에 오 ..? 나는 아침부터 내 시간을 낭비하고 있었지만 알아 내지 못했습니다. 정규식을 만드는 법을 가르쳐 줄 수 있습니까? – user3559897

1

분할, 숫자 다음에, 및 필드의 최대 수에 split()를 제한 U가 어떻게했는지

my $string = "ABC-Digest-M2-2.03-04.01.00.05"; 
my ($p1, $p2) = split /-(?=\d)/, $string, 2;