Language/JavaScript

[JavaScript] str.(substring/substr/split) - 문자열 자르고 나누기 (ft. slice())

썸머워즈 2022. 2. 14. 22:04
반응형

문자열을 잘라주는 메서드인 String.prototype.substring()String.prototype.substr() 그리고 문자열을 특정 구분자를 기준으로 나누는 String.prototype.split() 메서드에 대해 알아보자.

 

추가적으로 String.prototype.slice() 를 같이 알아두면 좋다.


1. String.prototype.substring()

- substring() 메서드는 문자열의 시작 인덱스로 부터 종료 인덱스 "이전"까지의 문자열을 반환한다.

- substring() 메서드를 사용할 때 만약 시작 인덱스와 종료 인덱스가 동일할 경우 빈 문자열을 반환한다.

- substring() 메서드를 사용할 때 시작 인덱스가 종료 인덱스보다 큰 경우, 두개의 인자가 바뀐듯 작동한다. (즉, 큰 수가 indexEnd로 동작한다는 의미이다.)

- 매개변수가 0보다 작은 인자 값을 가지는 경우에는 0을, 문자열의 길이보다 길 경우 최대값으로 자동 설정된다.

 

1-1. 구문과 기본사용법

▷ 구문

str.substring(indexStart[, indexEnd])

indexStart : 반환문자열의 시작 인덱스이다.

indexEnd : 생략 가능하며(생략 시 indexStart 부터 끝까지를 반환한다.), 반환문자열의 마지막 인덱스이다. (해당 인덱스 값은 포함되지 않는다.)

 

▷ 예제 1 ) String.prototype.substring() 메서드 기본 사용법

let str = 'Mine-it-record';

// 'Mine'
console.log(str.substring(0, 4));
console.log(str.substring(4, 0));

// 'it-record'
console.log(str.substring(5));
console.log(str.substring(5, 15));
console.log(str.substring(15, 5));

// 'Mine-it-record'
console.log(str.substring(0, 20));
console.log(str.substring(0, 25));
console.log(str.substring(-1));

2. String.prototype.substr()

- substr() 메서드는 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환한다.

- substr() 메서드는 MDN홈페이지에서 설명하는것처럼(본문 하단 링크 참조) 특이하게도 언제 사라질지 모르는 메서드이기 때문에 너무 자주 애용하지는 말자

 

1-1. 구문과 기본사용법

▷ 구문

str.substr(start[, length])

start : 추출하고자 하는 문자열의 시작위치(인덱스)이며, 만약 음수가 주어진다면 자동적으로 문자열 총길이에서 뺀만큼의 숫자가 설정된다. (-3을 설정할 경우 "문자열 총 길이 - 3" 을 의미한다.)

length : start 부터 추출할 문자들의 개수를 의미하며, 생략할 경우에는 문자열의 끝까지 그리고 0 혹은 음수일 경우 빈 문자열을 반환한다.

 

▷ 예제 1 ) String.prototype.substr() 메서드 기본 사용법

let str = 'Mine-it-record';

console.log(str.substr(0, 4)); // 'Mine'
console.log(str.substr(4, 0)); // ''
console.log(str.substr(5)); // 'it-record'
console.log(str.substr(5, 15)); // 'it-record'
console.log(str.substr(5, -1)); // ''
console.log(str.substr(-1)); // 'd'
console.log(str.substr(-9)); // 'it-record'
console.log(str.substr(-9, 2)); // 'it'

3. String.prototype.split()

- split() 메서드는 문자열을 자르는 메서드와는 다르게 문자열을 지정한 구분자를 이용하여 여러 개의 문자열로 나눠주는 메서드이다.

- 매개변수로 정규표현식을 받아 사용할 수 있다.

 

1-1. 구문과 기본사용법

▷ 구문

str.split([separator[, limit]])

separator

 - 원본 문자열을 끊어야 할 부분을 나타내는 문자열을 의미한다. (문자열을 나누는 기준을 의미한다.)

 - 실제 문자열이나 정규표현식을 받아서 사용한다.

 - 두 글자 이상일 경우 그 부분 문자열 전체가 일치해야 끊어진다.

 - 생략하거나 일치하는게 존재하지 않는다면 원본 문자열을 배열에 담아 반환한다.

 - 빈문자열('')을 입력할 경우 각각의 문자가 배열의 원소 하나씩으로 담겨 반환된다.

limt

 - 끊어진 문자열의 최대 개수를 의미한다. (배열의 제한을 의미한다.)

 

▷ 예제 1 ) String.prototype.split() 메서드 기본 사용법

let str = 'Mine-it-record';

console.log(str.split()); // ['Mine-it-record']
//['M', 'i', 'n', 'e', '-', 'i', 't', '-', 'r', 'e', 'c', 'o', 'r', 'd']
console.log(str.split(''));
console.log(str.split('', 4)); // ['M', 'i', 'n', 'e']
console.log(str.split('-')); //['Mine', 'it', 'record']
console.log('Mine it record'.split(' ')) //['Mine', 'it', 'record']

참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substring

 

String.prototype.substring() - JavaScript | MDN

substring() 메소드는 string 객체의 시작 인덱스로 부터 종료 인덱스 전 까지 문자열의 부분 문자열을 반환합니다.

developer.mozilla.org

참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/substr

 

String.prototype.substr() - JavaScript | MDN

substr() 메서드는 문자열에서 특정 위치에서 시작하여 특정 문자 수 만큼의 문자들을 반환합니다.

developer.mozilla.org

참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/split

 

String.prototype.split() - JavaScript | MDN

split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.

developer.mozilla.org

반응형