생활코딩

Coding Everybody

substr

토픽 생활코딩 > 클라이언트 > JavaScript > JavaScript 사전

요약(Summary)

문자열에서 특정한 구간의 문자열을 추출한다.

문법(Syntax)

string.substr(start,length)

인자(Parameters)

인자명 데이터형 필수/옵션 설명
start number 필수 탐색구간의 시작점(index)
length number 옵션 탐색구간이 끝나는 점(index), start+length 위치까지를 탐색구간으로 설정함

반환값(Return)

string, start와 length 사이의 문자열

설명(Description)

문자열 중 첫번째 인자(start)에서부터 두번째 인자(length)까지의 구간에 해당하는 문자열을 반환한다. 
length를 지정하지 않으면 start에서부터 문자열 전체를 처리구간으로 간주한다.
start가 양수일 경우, 문자의 길이 보다 작으면 빈문자열이 리턴된다.
start가 음수일 경우, start의 index는 문자열의 뒤에서부터 시작된다.

slice, substring, substr 비교

var str = 'coding everybody'; str.slice str.substr str.substring
function(7) everybody everybody everybody
function(0,7) coding coding coding
function(3,7) ing ing eve ing
function(7,2)   ev ding
function(-7) erybody erybody coding everybody
function(-7,2)   er co
function(7,7)   everybo  

예제(Example)

var str = 'coding everybody';
alert(str.substr(7)) // everybody
alert(str.substr(7,5)) // every
alert(str.substr(-4)) // body, 음수인 경우 뒤에서부터 카운팅 alert(str.substr(-4,2)) // bo
alert(str);

 

댓글

댓글 본문
  1. 푸른하늘
    13일차 공부 감사합니다
  2. egoing
    length가 두번째 인자로 오해 될 수 있는 문장이었군요. length를 문자의 길이로 변경했습니다. 혹시 제가 문의하신 의도를 파악하지 못했다면 알려주세요. 고맙습니다.
    대화보기
    • Wise
      -보단 0이하라고 하면 될까요?^^;
      대화보기
      • Wise
        내용중에 "start가 양수일 경우, length보다 작으면 빈문자열이 리턴된다."는 부분이 있습니다. 이 부분의 의미가 function(7,2) 이거라고 이해가 되서요. 혹시 length가 -이면 아닐까 생각했습니다.