[JS] 문자열(split, substring, slice) 자르기

yuna·2023년 3월 14일
1

javascript

목록 보기
1/10
post-thumbnail

# 문자열 자르기 ✂️

  • split() : 구분자(seperator)로 문자열 분리하여 배열로 리턴
  • substring() : 시작 index에서 끝 index전까지 문자열 잘라서 리턴
  • slice() : substring과 문법이 같으나, 음수 index를 적용해 리턴

1. split() : 구분자(seperator)로 문자열 분리하여 배열로 리턴

구분자(seperator)와 분리할 문자열의 개수(limit)을 인자로 받는다.

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

1-1. 구분자로만 인자 전달

const string = 'hello, world, javascript';
console.log(string.split(','));

-> 
['hello', 'world', 'javascript'];

1-2. 구분자와 limit 전달

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'];

1-3. 구분자와 limit을 전달하지 않는 경우

문자열을 자르지 않고 배열에 담아 리턴한다.

const string = 'hello, world, javascript';
console.log(string.split());

->
['hello, world, javascript'];

2. substring() : 시작 index에서 끝 index전까지 문자열 잘라서 리턴

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

3. slice() : substring과 문법이 같으나, 음수 index를 적용해 리턴

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 인덱스 적용

0개의 댓글