- split() : 구분자(seperator)로 문자열 분리하여 배열로 리턴
- substring() : 시작 index에서 끝 index전까지 문자열 잘라서 리턴
- slice() : substring과 문법이 같으나, 음수 index를 적용해 리턴
구분자(seperator)
와 분리할 문자열의 개수(limit)
을 인자로 받는다.
str.split([separator[, limit]]);
const string = 'hello, world, javascript';
console.log(string.split(','));
->
['hello', 'world', 'javascript'];
limit은 구분자로 분리할 문자열의 개수를 나타낸다. 0을 전달하면 빈배열을 리턴하며, 1을 전달하면 구분자로 1개의 문자열만 잘라서 배열을 리턴한다.
const string = 'hello, world, javascript';
console.log(string.split(',', 0));
console.log(string.split(',', 1));
console.log(string.split(',', 2));
console.log(string.split(',', 3));
->
[],
['hello',]
['hello', 'world']
['hello', 'world', 'javascript'];
문자열을 자르지 않고 배열에 담아 리턴한다.
const string = 'hello, world, javascript';
console.log(string.split());
->
['hello, world, javascript'];
start는 inclusive(포함), end는 exclusive(미포함)입니다. 예를 들어 str.substring(0, 4) 이면 0번째 인덱스 부터 4번째는 포함되지 않는 인덱스 까지 즉, 0~3까지의 문자열을 잘라서 리턴 합니다.
str.substring(start, end);
let str = 'Hello World Javascript';
let a = str.substring(6); // 6번째 인덱스 부터 끝까지
let b = str.substring(6, 8); // 6번째 인덱스 부터 7번째 까지
console.log(a);
console.log(b);
->
World Javascript
Wo
arr.slice([begin[, end]]);
인자로 음수가 전달되었을 때, substring()은 빈 문자열을 리턴합니다. 하지만 slice()는 음수 Index를 적용하여 문자열을 자릅니다.
let str = 'Hello World Javascript';
let a = str.substring(0, -6);
let b = str.slice(0, -6);
console.log(a);
console.log(b);
->
// 빈문자열 리턴함
Hello World Java // 뒤에서부터 -6 인덱스 적용