Tips in Action‎ > ‎문자열‎ > ‎

대소문자에 관계없이 정렬하기

전종필

대소문자가 섞인 문자열들의 배열을 대소문자에 관계없이 정렬하려 합니다.
이 때는 Tip: 원하는 방법으로 정렬하기에서 사용한 방법과 Tip: 첫 글자는 대문자로, 나머지는 소문자로 바꾸기에서 언급된 내용을 이용합니다. 즉,

@arr = qw( d W k R A c b );
@wrongsort = sort @arr; #A R W b c d k 순으로 정렬됨
@goodsort  = sort { "\U$a" cmp "\U$b" } @arr; #A b c d k R W 순으로 정렬됨
에서 @goodsort에서와 같이, $a와 $b에 대해 각각 "\U$a" "\U$b"를 하여 모든 문자를 대문자(Uppercase)로 만들어서 비교하게 하는 것입니다. 
Comments