Reference/Javascript
substring() 메서드는 문자열에서 시작 위치에서 종료 위치 값을 추출하여, 새로운 문자열을 반환합니다.
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
클릭하면 여기에 정보가 나옵니다.
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 | 7 | 8 | 9 | 10 | 11 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
substring() | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
댓글