Perl/펄] 대소문자 구분 없이 정렬, 문자열 배열 소팅; Sort Ignore Case, String Array
Saturday, December 30, 2006
스폰서 링크영문 문자열 배열을 소팅할 때에는 기본적으로 대소문자를 구분하기에, 부자연스러운 결과가 나오게 됩니다. 대소문자 구분없이 소팅하는 방법입니다.
문자열을 소문자로 바꾸는 lc() 함수를 사용하여 구현합니다.
▶▶ 펄/Perl] 문자열 배열 정렬(소팅), sort 함수 사용법: Sort String Array
☞ Perl(펄)
문자열을 소문자로 바꾸는 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
☞ Perl(펄)
Post a Comment
<< Home