JS
substr와 substring의 차이
limew
2023. 12. 8. 11:00
substr와 substring은 둘다 문자열에서 부분 문자열을 추출하는 메서드이다
하지만 알고리즘 문제를 풀면서 substring의 시간, 공간 효율성이 더 좋아서 이 둘의 차이점을 파헤쳐보았다.
substr(시작 인덱스, 길이)
시작인덱스부터 길이만큼의 문자열을 반환한다.
길이가 양수이면 시작인덱스부터 해당 길이만큼의 문자열을 반환하고 (좌 -> 우)
길이가 음수이면 역으로 문자열 끝에서부터 길이만큼의 문자열을 반환한다 (좌 <- 우)
let str = "Hello, World!";
console.log(str.substr(7, 5)); // Output: "World" 인덱스7("W")포함 5번째 문자인 d까지
console.log(str.substr(-6, 2)); // Output: "Wo" 뒤에서 6번째 인덱스(" ")에서 오른쪽으로 문자 2개
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
H | e | l | l | o | , | W | o | r | l | d | ! | |
-6 | -5 | -4 | -3 | -2 | -1 |
substring(시작 인덱스, 끝 인덱스)
시작인덱스부터 끝 인덱스까지의 문자열을 반환한다.
시작인덱스가 끝 인덱스보다 커도 동일한 결과를 반환한다.
let str = "Hello, World!";
console.log(str.substring(7, 12)); // Output: "World"
console.log(str.substring(12, 7)); // Output: "World"