Saturday, December 30, 2006
Perl/펄] 대소문자 구분 없이 정렬, 문자열 배열 소팅; Sort Ignore Case, String Array
영문 문자열 배열을 소팅할 때에는 기본적으로 대소문자를 구분하기에, 부자연스러운 결과가 나오게 됩니다. 대소문자 구분없이 소팅하는 방법입니다.
문자열을 소문자로 바꾸는 lc() 함수를 사용하여 구현합니다.
▶▶ 펄/Perl] 문자열 배열 정렬(소팅), sort 함수 사용법: Sort String Array
문자열을 소문자로 바꾸는 lc() 함수를 사용하여 구현합니다.
영문 알파벳 문자 배열, 대소문자 구분 없이 소트 예제
#!/usr/bin/perl
use strict; use warnings;
my @a = ( "bbb", "AAA", "DDD", "CCC", "aaa" );
# 대소문자 구분하여 정렬
@a = sort @a;
print join(" ", @a);
# 배열 출력: AAA CCC DDD aaa bbb
print "\n"; # 줄바꿈
# 대소문자 구분 없이 정렬
@a = sort { lc($a) cmp lc($b) } @a;
print join(" ", @a);
# 배열 출력: AAA aaa bbb CCC DDD
print "\n"; # 줄바꿈
# 대소문자 구분 없이 내림차순(역순) 정렬
@a = reverse sort { lc($a) cmp lc($b) } @a;
print join(" ", @a);
# 배열 출력: DDD CCC bbb aaa AAA
use strict; use warnings;
my @a = ( "bbb", "AAA", "DDD", "CCC", "aaa" );
# 대소문자 구분하여 정렬
@a = sort @a;
print join(" ", @a);
# 배열 출력: AAA CCC DDD aaa bbb
print "\n"; # 줄바꿈
# 대소문자 구분 없이 정렬
@a = sort { lc($a) cmp lc($b) } @a;
print join(" ", @a);
# 배열 출력: AAA aaa bbb CCC DDD
print "\n"; # 줄바꿈
# 대소문자 구분 없이 내림차순(역순) 정렬
@a = reverse sort { lc($a) cmp lc($b) } @a;
print join(" ", @a);
# 배열 출력: DDD CCC bbb aaa AAA
▶▶ 펄/Perl] 문자열 배열 정렬(소팅), sort 함수 사용법: Sort String Array
tag: perl
Perl | 펄
<< Home