mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Friday, January 19, 2007

Perl/펄] 문자열/배열 양쪽 공백 제거, 정규식 사용; Trim Leading / Trailing Spaces


문자열의 앞이나 뒤에 붙어 있는 불필요한 공백 문자(스페이스; 탭 문자 포함)를 삭제하는 함수가, 펄에는 내장되어 있지 않기에, 직접 만들어 주어야 합니다.

단, 문자열 속에 포함되어 있는 공백들은 아무리 많아도 그대로 둡니다.


문자열/배열, 앞 뒤 좌우 스페이스/탭(Tab) 문자 지우기 함수 예제


#!/usr/bin/perl
use strict; use warnings;


  ################################################
  ### 하나의 문자열에서 양쪽 공백 모두 제거

  my $s = "   AAA BBB        CCC   ";

  printf( "[%s]\n", trim($s) );
  # 출력 결과: [AAA BBB        CCC]




  ################################################
  ### 배열의 각 요소들에서 양쪽 공백 모두 제거

  # 양쪽에 불필요한 공백이 붙은 배열
  my @a = ( "        자장면         ",
            "똠방각하      ",
            "         탕수육",
            "    팔보채 "
           );

  @a = trim(@a); # 배열에서 양쪽 공백 모두 제거

  printf("[%s]", $_) foreach (@a);
  # 출력 결과: [자장면][똠방각하][탕수육][팔보채]




sub trim {
  my @result = @_;

  foreach (@result) {
    s/^\s+//;          # 앞쪽 공백 지우기
    s/\s+$//;          # 뒤쪽 공백 지우기
  }

  return wantarray ? @result : $result[0];
}




만약 앞쪽이나 뒤쪽의 공백만 선택적으로 지우려면 위의 trim 함수에서,

    s/^\s+//;          # 앞쪽 공백 지우기
    s/\s+$//;          # 뒤쪽 공백 지우기

필요 없는 행을 골라서 주석화되면 됩니다.




tag: perl
Perl | 펄

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top