728x90
목차
substr()
문자열을 특정 위치에서 원하는 길이만큼 잘라서 문자열로 리턴한다. (띄어쓰기도 포함)
형식
start : 시작위치, length : 추출글자 갯수
const str = "applebananaorange";
str.substr(시작위치, 길이);
순차적으로 자르기
const str = "applebananaorange";
let a = str.substr(5); // apple
let b = str.substr(0, 5); // apple
let c = str.substr(0, 11); // applebanana
특정 위치의 문자 자르기
[순차적으로 자르기]처럼 시작위치에서 길이를 지정해서 문자를 자르는 방법도 있다
하지만, 시작위치에 -(음수)로 지정하여 자를 수 있는 방법도 있다.
const str = "applebananaorange";
let a = str.substr(-6); // orange
let b = str.substr(-6, 3); // ora
let c = str.substr(-6, 4); // oran
substring()
시작위치와 끝 인덱스로 입력받는다.
const str = "apple banana orange";
let a = str.substr(6); // banana orange
let b = str.substr(6, 6); // banana
let c = str.substr(6, 0); // apple
substr과 substring차이
- substr은 시작인덱스번호와 몇개를 추출할지 입력한다.
- substring은 시작 인덱스와 끝인덱스를 입력받는다.
아래 예제처럼 substr은 5번 위치부터 0개의 길이만큼 자르기 때문에 빈 문자열이다.
하지만 substring은 5번 위치부터 0번의 위치를 추출하여 'apple' 문자열을 자를 수 있다.
const str = "apple banana orange";
str.substr(5, 0); // ''
str.substring(5, 0); // 'apple'
slice()
substring과 동일하게 자를 문자열을 시작인덱스와 끝 인덱스로 입력한다.
substring()과 slice()차이
시작인덱스 > 끝 인덱스
- substring()은 start값과 end값을 바꿔 처리한다.
- slice()는 빈 문자열을 출력한다.
let str = "안녕하세요?"
let slice = str.slice(1, 0);
let substring = str.substring(1, 0);
document.write("slice(1,0) : ", slice, '<br/>'); // ' '
document.write("substring(1,0) : ", substring, '<br/>'); // '안'
시작인덱스 < 끝 인덱스
- substring()은 시작인데스가 음수일 경우 start를 0으로 취급한다. substring(-2, 6)는 substring(0, 6)로 계산된다.
- slice()는 음수의 절대값 인덱스로 출력한다. slice(-2, 5)은 경우 start가 -2인 경우 문자열 뒤에서 2번쨰 자리로 취급한다. slice(4, 6)으로 계산된다.
만일 문자열.length의 길이보다 시작위치의 길이가 크다면 0으로 처리한다.
728x90
반응형
'개발기록 > 자바스크립트 & jQuery' 카테고리의 다른 글
for, for of, for in, forEach / 자바스크립트 반복문 [자바스크립트 도장깨기] (0) | 2022.05.10 |
---|---|
Javascript 문자열 바꾸기① - replace(), replaceAll() [자바스크립트 도장깨기] (0) | 2022.05.06 |
Javascript 문자열 자르기① - split의 여러가지 방법 [자바스크립트 도장깨기] (0) | 2022.05.05 |
화살표 함수 자세히 알아보기( => ) [자바스크립트 도장깨기] (0) | 2022.05.02 |
Function란, 함수의 기능과 Agument(전달인자), Parameter(매개변수) 정의 / [자바스크립트 도장깨기] 인수, 인자 (0) | 2022.05.01 |
댓글