String.split()
split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.
배열의 경우 첫번째가 1이 아닌 0부터 시작한다.(0,1,2,3,4,5)
const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' ');
console.log(words[3]);
// 결과
"fox" // 3번째 문자열 output
const chars = str.split('');
console.log(chars[8]);
// 결과
"k" // 8번째 텍스트 output(띄어쓰기도 문자열로 인식)
const strCopy = str.split();
console.log(strCopy);
// 결과
Array ["The quick brown fox jumps over the lazy dog."]// 배열 전체를 복사후 output
빈 문자열이 주어졌을 경우 split()은 빈 배열이 아니라 빈 문자열을 포함한 배열을 반환합니다. 문자열과 separator가 모두 빈 문자열일 때는 빈 배열을 반환합니다.
const myString = '';
const splits = myString.split();
console.log(splits);
//결과
↪ [""]
문자열에서 공백 제거하기
다음 예제에서 split()은 세미콜론 앞뒤에 각각 0개 이상의 공백이 있는 부분 문자열을 찾고, 있을 경우 문자열에서 세미콜론과 공백을 제거합니다. split()의 결과로 반환된 배열은 nameList에 저장됩니다.
var names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ';
console.log(names);
var re = /\s(?:;|$)\s/;
var nameList = names.split(re);
console.log(nameList);
//결과
"Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand", ""
끊는 횟수 제한하기
다음 예제에서 split()은 문자열을 공백으로 끊고 처음 3개의 문자열을 반환합니다.
var myString = 'Hello World. How are you doing?';
var splits = myString.split(' ', 3);
console.log(splits);
//결과
"Hello", "World.", "How"
배열을 구분자로 사용하기
var myString = 'this|is|a|Test';
var splits = myString.split(['|']); // "ㅣ"를 빼고 문자를 반환한다.
console.log(splits);
//결과
"this", "is", "a", "Test"
var myString = 'ca,bc,a,bca,bca,bc';
var splits = myString.split(['a','b']);//a,b를 빼고 문자를 반환한다
console.log(splits);
//결과"c", "c,", "c", "c", "c"