split() 함수는 문자열을 특정 구분자(separator)를 기준으로 나누어 배열로 만드는 함수이다. 문자열을 여러 부분으로 쪼개야 할 때 매우 유용하다.
문자열.split(구분자, 제한개수);
const fruit = "apple,banana,orange";
const result = fruit.split(",");
console.log(result);
// 출력: ["apple", "banana", "orange"]
const sentence = "Hello World JavaScript";
const words = sentence.split(" ");
console.log(words);
// 출력: ["Hello", "World", "JavaScript"]
const text = "ABC";
const chars = text.split("");
console.log(chars);
// 출력: ["A", "B", "C"]
const date = "2024-11-19";
const parts = date.split("-");
console.log(parts); // ["2024", "11", "19"]
const text = "apple123banana456cherry";
const result = text.split(/[0-9]+/);
console.log(result); // ["apple", "banana", "cherry"]
const text = "Hello";
const result = text.split();
console.log(result); // ["Hello"]
const fruits = "apple,banana,orange,mango";
// 제한개수 없음
console.log(fruits.split(","));
// ["apple", "banana", "orange", "mango"]
// 제한개수 2개
console.log(fruits.split(",", 2));
// ["apple", "banana"]
// 제한개수 3개
console.log(fruits.split(",", 3));
// ["apple", "banana", "orange"]
const csvData = "이름,나이,직급";
const [name, age, position] = csvData.split(",");
console.log(name); // "이름"
console.log(age); // "나이"
console.log(position); // "직급"
const url = "https://example.com?name=John&age=30";
const queryString = url.split("?")[1]; // "name=John&age=30"
const params = queryString.split("&");
console.log(params); // ["name=John", "age=30"]
const filename = "document.pdf";
const parts = filename.split(".");
const name = parts[0]; // "document"
const extension = parts[1]; // "pdf"
console.log(`이름: ${name}, 확장자: ${extension}`);
// 출력: 이름: document, 확장자: pdf
const phone = "01012345678";
const parts = phone.split("");
const formatted = `${parts.slice(0, 3).join("")}-${parts.slice(3, 7).join("")}-${parts.slice(7).join("")}`;
console.log(formatted); // "010-1234-5678"
const path = "C:/Users/Documents/MyProject";
const folders = path.split("/");
const lastFolder = folders[folders.length - 1];
console.log(lastFolder); // "MyProject"
// ❌ 잘못된 예
const text = "a,b,c";
const result = text.split();
console.log(result); // ["a,b,c"] - 나뉘지 않음!
// ✅ 올바른 예
const result = text.split(",");
console.log(result); // ["a", "b", "c"]
const text = "apple,banana,orange";
const result = text.split(";"); // ";"가 없음
console.log(result); // ["apple,banana,orange"] - 원본 문자열 그대로
// ❌ 문제: 불필요한 공백 포함
const text = "apple , banana , orange";
const result = text.split(",");
console.log(result); // ["apple ", " banana ", " orange "]
// ✅ 해결: map으로 공백 제거
const cleaned = text.split(",").map(item => item.trim());
console.log(cleaned); // ["apple", "banana", "orange"]
const text = "hello-world-javascript";
const result = text
.split("-") // ["hello", "world", "javascript"]
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(" "); // 다시 붙이기
console.log(result); // "Hello World Javascript"
const text = "apple,,banana,,orange"; // 빈 값이 있음
const result = text
.split(",")
.filter(item => item !== ""); // 빈 값 제거
console.log(result); // ["apple", "banana", "orange"]
| 기능 | 설명 |
|---|---|
| 기본 사용 | 문자열.split("구분자") |
| 반환값 | 배열 |
| 원본 변경 | 아니오 (새로운 배열 생성) |
| 구분자 미지정 | 전체 문자열을 배열 요소 1개로 반환 |
| 제한개수 | 배열 크기 제한 가능 |
split() 함수는 데이터를 처리할 때 매우 자주 사용되는 기본적이지만 강력한 도구다. 문자열을 나누고 가공하는 많은 작업에서 활용할 수 있으니, 다양한 예제를 직접 시도해보며 익숙해지는 것을 권장한다.