mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Thursday, April 05, 2007

Perl 펄] 영문 배열 고유 요소만 구하기, 대소문자 구분 없이; Unique Elements Ignore Case


영문 문자열로 이루어진 배열 또는 알파벳이 섞인 배열에서, 고유한 요소만 찾되 대소문자 구분없이 찾습니다. 즉 배열의 중복된 요소들을 제거하는 것입니다.

배열(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;
}



영문 문자열 배열일 경우, 대소문자 "구분하여" 찾는 함수: ▶▶ Perl 펄] 배열에서 중복된 요소 제거, 동일 데이터 지우기; Unique Elements




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top