본문 바로가기
Reference/JAVASCRIPT

substring 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.

by @webstoryboy 2022. 11. 10.
substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.
Reference/Javascript

substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.

by @webs 2022. 11. 10.

substring()

substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다. 원래 문자열을 변경되지 않으며, slice() 메서드는 시작값이 끝나는 값보다 크면 값을 추출할 수 없지만, substring() 메서드는 시작 값이 끝나는 값보다 크면 인수가 교환되어 값을 추출합니다.


특징 설명
유형(type) String.prototype.substring()
버전(version) ES1
결과값(return) 문자열(String)
사용성 ★★★☆☆

문법(Syntax)

"문자열".substring(시작 위치)
"문자열".substring(시작 위치, 끝나는 위치)

const str = "javascript reference";

str.substring(0)     //javascript reference
str.substring(1)     //avascript reference
str.substring(2)     //vascript reference
str.substring(3)     //ascript reference
str.substring(0, 1)  //j
str.substring(0, 2)  //ja
str.substring(0, 3)  //jav
str.substring(1, 0)  //j
str.substring(2, 0)  //ja
str.substring(3, 0)  //jav

// slice와 substring 비교
str.substring(1)    //avascript reference
str.slice(1)        //avascript reference
str.substring(0, 1)  //j
str.slice(0, 1)      //j
str.substring(1, 0)  //j        // 시작 값이 끝나는 값보다 크면 인수가 교환되어 값을 추출
str.slice(1, 0)      //""       // 앞 숫자가 뒤 숫자보다 크면 출력하지 못함
  • 문자열(string) : 문자열을 설정합니다.
  • 시작 위치(indexStart) : 시작하는 위치 값을 설정합니다.
  • 끝나는 위치(indexEnd) : 끝나는 위치 값을 설정합니다.

정의(Definition)

  • substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.
  • substring() 메서드는 원래 문자열을 변경하지 않고, 부분 문자열을 반환합니다.
  • substring() 메서드는 종료 위치 값이 생략되면, 문자열의 끝까지 모든 문자열을 반환합니다.
  • substring() 메서드는 시작 값과 끝나는 값이 같으면 빈 문자열을 반환합니다.
  • substring() 메서드는 시작 값이 끝나는 값보다 크면 인수가 교환되어 값을 추출하지만, slice() 메서드는 시작값이 끝나는 값보다 크면 값을 추출할 수 없습니다.

문자열 변경과 관련된 메서드

  • slice() 메서드는 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열 및 배열을 반환합니다.
  • substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.
  • substr() 메서드는 문자열에서 시작 위치에서 길이 값을 추출하여, 새로운 문자열을 반환합니다.
  • split() 메서드는 문자열을 구분자로 구분하고, 여러개의 문자열(배열)을 반환합니다.
  • replace() 메서드는 문자열에서 특정 문자열을 교체하여, 새로은 문자열을 반환합니다.
  • replaceAll() 메서드는 문자열에서 특정 문자열을 모두 교체하여, 새로은 문자열을 반환합니다.
  • concat() 메서드는 매개변수로 전달된 문자열을 받어, 결합된 새로운 문자열을 반환합니다.
  • repeat() 메서드는 주어진 횟수만큼 반복 복사하여, 새로운 문자열을 반환합니다.
  • padStart() 메서드는 주어진 길이에 맞게 앞 문자열을 채우고, 새로운 문자열을 반환합니다.
  • padEnd() 메서드는 주어진 길이에 맞게 뒤 문자열을 채우고, 새로운 문자열을 반환합니다.
  • trim() 메서드는 문자열의 앞/뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
  • trimStart() 메서드는 문자열의 앞 공백을 제거하고, 새로운 문자열을 반환합니다.
  • trimEnd() 메서드는 문자열의 뒤 공백을 제거하고, 새로운 문자열을 반환합니다.
  • toUpperCase() 메서드는 문자열을 대문자로 설정하고, 대문자 문자열을 반환합니다.
  • toLowerCase() 메서드는 문자열을 소문자로 설정하고, 새로운 문자열을 반환합니다.
  • toString() 메서드는 데이터를 문자열로 변환하고, 문자열을 반환합니다.
  • localeCompare() 메서드는 문자열과 문자열을 비교하여, 수치(음수, 양수, 0)을 반환합니다.

문자열 검색과 관련된 메서드

  • indexOf() 메서드는 문자열을 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • lastIndexOf() 메서드는 문자열을 역순으로 검색하여, 주어진 값과 일치하는 첫 번째 위치값(index)을 반환합니다.
  • search() 메서드는 문자열(정규식)을 검색하고, 위치값(숫자)을 반환합니다.
  • match() 메서드는 문자열(정규식)을 검색하고, 문자열(배열)을 반환합니다.
  • matchAll() 메서드는 문자열(정규식)을 검색하고, 일치하는 모든 문자열(배열)을 반환합니다.
  • at() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 요소를 반환합니다.
  • charAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 단일문자를 반환합니다.
  • charCodeAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 유니코드 정수 값을 반환합니다.
  • charPointAt() 메서드는 지정한 숫자(index)를 받아, 문자열에서 해당 되는 인덱스의 유니코드 포인트 정수 값을 반환합니다.
  • includes() 메서드는 문자열 포함 여부를 검색하여, 그 결과를 불린(true, false)로 반환합니다.
  • startsWith() 메서드는 시작하는 문자열에서 특정 문자열로 시작하는 확인하여, 그 결과를 불린(true, false)로 반환합니다.
  • endsWith() 메서드는 끝나는 문자열에서 특정 문자열로 끝나는지 확인하여, 그 결과를 불린(true, false)로 반환합니다.

예제1(Sample)

문자열을 검색하여, 주어진 값과 일치하는 첫 번째 값을 반환하는 예제입니다.

javascript reference

클릭하면 여기에 정보가 나옵니다.

1 2 3 4 5 6 7 8 9
HTML
CSS
SCRIPT
<div class="charAt-box">
    <span>javascript</span>
    <p class="alert">클릭하면 여기에 정보가 나옵니다.</p>
</div>
#sample1 .indexof-box {
    text-align: center;
}
#sample1 .indexof-box .alert {
    padding-top: 10px;
}
#sample1 .indexof-box span {
    border: 1px solid #e6e6e6;
    padding: 10px 20px;
    display: inline-block;
    margin-bottom: 10px;
    background-color: #A2CBFA;
    border: 1px solid #4390E1;
    color: #fff;
    border-radius: 40px;
}
#sample1 .indexof-box em {
    background-color: #A2CBFA;
    border: 1px solid #4390E1;
    color: #fff;
    padding: 2px 5px;
}
#sample1 .indexof-box strong {
    border-bottom: 1px solid #000;
}
const text = document.querySelector(".indexof-box .text").innerText;    //javascript
const btnAll = document.querySelectorAll(".sampleBtn a");
const btnAlert = document.querySelector(".indexof-box .alert");

btnAll.forEach(btn => {
    btn.addEventListener("click", (e) => {
        e.preventDefault();
        const char = Number(btn.innerText.trim());     //클릭한 버튼의 글씨
        const result = text.substring(char-1, char);

        btnAlert.innerHTML = `${char}번째 글자는 ${result} 입니다.`;
    });
});

호환성(Compatibility)

크롬 아이콘 파이어폭스 아이콘 사파리 아이콘 오페라 아이콘 네이버 웨일 익스플로러6 아이콘6 익스플로러7 아이콘7 익스플로러8 아이콘8 익스플로러9 아이콘9 익스플로러10 아이콘10 익스플로러11 아이콘11 엣지 아이콘 안드로이드 아이콘 ios 아이콘
substring()

참고(Reference)


댓글