캐릭터 하나하나로 분해하는 방법 :
@array = split(//, $string);
바이트 단위로 분해하는 방법 : @array = unpack("C*", $string);
루프를 돌려서 한 캐릭터씩 처리하는 법 : while (/(.)/g) { # . is never a newline here
# do something with $1
}
응용 예) 스트링 내에 어떤 문자가 사용되었는지 알아내는 코드 : %seen = ();
$string = "an apple a day";
foreach $byte (split //, $string) {
$seen{$byte}++;
}
print "unique chars are: ", sort(keys %seen), "\n";
결과는 unique chars are: adelnpy 와 같이 나온다.다음과 같이 써도 동일.
%seen = ();
$string = "an apple a day";
while ($string =~ /(.)/g) {
$seen{$1}++;
}
print "unique chars are: ", sort(keys %seen), "\n";
출처 : Perl Cookbook : Processing a String One Character at a Time키워드 : explode, characters
No comments:
Post a Comment