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

 
Previous Post Python/파이썬] 문자열 앞이나 끝의 공백만 제거; Remove Leading-Trai...C언어] 오늘 요일 이름 구하기, 요일명 출력; Get-Print DAY OF THE WE...Python/파이썬] 오늘 요일 이름 구하기, 요일명 출력; Get-Print DAY OF...Python/파이썬] 문자열 양쪽의 불필요한 공백 제거; Trim Trailing Spac...Python/파이썬] 정수 실수 자료형, 숫자 데이터형; int long float Num...자바스크립트] 한국식 날짜/시간 문자열 출력; 타임 스탬프 찍기; JavaScript YY...Java/자바] BigInteger 형 정수 숫자, if문으로 크기 비교; Compare ...Java/자바] 거대 무한 정수 사칙연산, BigInteger 클래스 사용 법; Big I...억(億), 조(兆) 단위보다 큰 숫자 읽기, 경(京) 단위 이상 읽는 법 [수사(數詞); ...만,억,조,경,해,자,양,구,간,정,재,극,항하사,아승기,나유타,불가사의,무량대수;Larg...

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

Friday, January 19, 2007

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

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


문자열/배열, 앞 뒤 좌우 스페이스/탭(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+$//;          # 뒤쪽 공백 지우기

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


펄 강좌와 각종 예제

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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