Monday, May 14, 2007
Perl 펄] 한 글자씩 문자열 처리, 1글자씩 접근/억세스; String, One Char at a Time
펄의 문자열에서, 문자열 속의 각각의 글자들에 접근하려면, 우선 문자열을 배열로 변환해 주어야 합니다. 문자열 그대로는 각 문자들에 접근할 수 없습니다. 그리고 이 소스는 한글 문자열은 제대로 처리하지 못합니다.
파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
unpack 함수에 대한 설명: ▶▶ Perl 펄] unpack pack 함수, 문자열을 1글자씩 처리, 배열로 변환
참고: ▶▶ Perl/펄] 배열 사이즈/길이 (요소 개수) 구하기, 달러+샤프 기호로; Array Size, Dollar Sharp
한 글자씩 읽기/추출 방법
파일명: example.pl
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
# 문자열 정의
my $s = "My Apple";
#############################################
## 한 글자씩 화면에 출력, 정규식으로 분해하여
#
my @array = split(//, $s); # 우선, 문자열을 배열로 변환
for (my $i = 0; $i <= $#array; $i++) {
printf("[%s] ", $array[$i]);
}
# 출력 결과: [M] [y] [ ] [A] [p] [p] [l] [e]
print "\n\n"; # 편의상 줄바꿈
#############################################
## 한 글자씩 화면에 출력; unpack 으로 분리하여
#
@array = unpack "C*", $s; # 우선, 문자열을 배열로 변환
for (my $i = 0; $i <= $#array; $i++) {
print chr($array[$i]), "\n";
}
=pod
출력 결과:
M
y
A
p
p
l
e
=cut
use strict; use warnings;
# 문자열 정의
my $s = "My Apple";
#############################################
## 한 글자씩 화면에 출력, 정규식으로 분해하여
#
my @array = split(//, $s); # 우선, 문자열을 배열로 변환
for (my $i = 0; $i <= $#array; $i++) {
printf("[%s] ", $array[$i]);
}
# 출력 결과: [M] [y] [ ] [A] [p] [p] [l] [e]
print "\n\n"; # 편의상 줄바꿈
#############################################
## 한 글자씩 화면에 출력; unpack 으로 분리하여
#
@array = unpack "C*", $s; # 우선, 문자열을 배열로 변환
for (my $i = 0; $i <= $#array; $i++) {
print chr($array[$i]), "\n";
}
=pod
출력 결과:
M
y
A
p
p
l
e
=cut
unpack 함수에 대한 설명: ▶▶ Perl 펄] unpack pack 함수, 문자열을 1글자씩 처리, 배열로 변환
참고: ▶▶ Perl/펄] 배열 사이즈/길이 (요소 개수) 구하기, 달러+샤프 기호로; Array Size, Dollar Sharp
tag: perl
Perl | 펄
<< Home