Thursday, April 05, 2007
Perl 펄] 영문 배열 고유 요소만 구하기, 대소문자 구분 없이; Unique Elements Ignore Case
영문 문자열로 이루어진 배열 또는 알파벳이 섞인 배열에서, 고유한 요소만 찾되 대소문자 구분없이 찾습니다. 즉 배열의 중복된 요소들을 제거하는 것입니다.
스크립트 파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
영문 문자열 배열일 경우, 대소문자 "구분하여" 찾는 함수: ▶▶ Perl 펄] 배열에서 중복된 요소 제거, 동일 데이터 지우기; Unique Elements
배열(Array)에서, 고유한 문자열만 반환 함수 예제
스크립트 파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
my @a = qw/ Cool cool APPLE apple COOL Test Apple applE /;
# 중복된 요소 있는 원본 배열 출력
print "$_ " foreach (@a);
# 출력 결과: Cool cool APPLE apple COOL Test Apple applE
# 원본과 똑같이, 쿨과 애플이 중복되어 있음
print "\n\n\n"; # 줄바꿈
# 중복된 요소 모두 삭제하고 출력, 대소문자 구분없이
@a = uniqueElementsIgnoreCase(@a);
print "$_ " foreach (@a);
# 출력 결과: Cool APPLE Test
# 이제 쿨과 애플이 한번씩만 들어 있음
# 주어진 배열에서, 중복되는 요소들을 모두 삭제하고 리턴하는 함수
# 대소문자 구분 없이
sub uniqueElementsIgnoreCase {
my ($item, %seen, @result);
foreach $item (@_) {
push(@result, $item) unless $seen{lc($item)}++;
}
return @result;
}
use strict; use warnings;
my @a = qw/ Cool cool APPLE apple COOL Test Apple applE /;
# 중복된 요소 있는 원본 배열 출력
print "$_ " foreach (@a);
# 출력 결과: Cool cool APPLE apple COOL Test Apple applE
# 원본과 똑같이, 쿨과 애플이 중복되어 있음
print "\n\n\n"; # 줄바꿈
# 중복된 요소 모두 삭제하고 출력, 대소문자 구분없이
@a = uniqueElementsIgnoreCase(@a);
print "$_ " foreach (@a);
# 출력 결과: Cool APPLE Test
# 이제 쿨과 애플이 한번씩만 들어 있음
# 주어진 배열에서, 중복되는 요소들을 모두 삭제하고 리턴하는 함수
# 대소문자 구분 없이
sub uniqueElementsIgnoreCase {
my ($item, %seen, @result);
foreach $item (@_) {
push(@result, $item) unless $seen{lc($item)}++;
}
return @result;
}
영문 문자열 배열일 경우, 대소문자 "구분하여" 찾는 함수: ▶▶ Perl 펄] 배열에서 중복된 요소 제거, 동일 데이터 지우기; Unique Elements
tag: perl
Perl | 펄
<< Home