[완료] perl 자르기, 없애기

maindb의 이미지

perl 프로그래밍을 수정할 일이 생겨 손보고 있는데 지금 2시간째 헤매고 있네요.
워낙 기초적인 문제로 검색과 이것저것 바꿔보고 찍어보면 금방 해결될것 같았는데
이 기본적인걸 2시간째 헤매고 있습니다.

스티링 값이

20%di, 10%SS, 31%DN

위와 같을때

원하는 결과는 배열에 담아서
print 할때 예를 들어

value[0] 은 20
value[1] 은 10
value[2] 은 31

을 요구하고 있습니다.

split 와 정규표현식을 사용해보고 있는데 잘 안되네요..
split 로 일단 split(/,/, $string); 와 같이 자르고.....
잘려서 담긴 각 배열값에서 %부터 뒤에 모두를 없애면 되는데...

조언 부탁드립니다.

이광우의 이미지

split(/%..,*\s*/,$string); 을 사용해 보세요.

Be Creative For Fun!!

Be Creative For Fun!!

maindb의 이미지

감사합니다... 도움이 되었습니다. ^^

maindb의 이미지


이렇게 하면 일단 원하는 값이 나오는데 괜찮을까요?

$string "20%di, 10%SS, 31%DN";
@reports = split(/[\s]+/, $string);

$reports[0] =~ s/%.*//g;
$reports[1] =~ s/%.*//g;
$reports[2] =~ s/%.*//g;

aero의 이미지

my $str='20%di, 10%SS, 31%DN';
my @value = $str =~ m/(\d+)%/g;
print "@value\n";

<결과>

20 10 31
참고: http://codepad.org/jTJqIwZx