Skip to content

split() vs toCharArray() #3

@SeoMiYoung

Description

@SeoMiYoung

1. toCharArray() - "문자 하나하나" 다룰 때

문자열을 문자(char) 배열로 바꿔줌

String s = "hello";
char[] arr = s.toCharArray();  // ['h', 'e', 'l', 'l', 'o']

→ 한 글자씩 검사 / 수정 / 비교할 때 최강

2. split() - "단어 / 구분자 기준"으로 자를 때

문자열을 기준 문자로 나눠서 문자열 배열로 반환

String s = "hello world java";
String[] arr = s.split(" ");  // ["hello", "world", "java"]

⚠️ 사라지는 뒷부분 공백

split의 경우, 기본적으로 문자열 끝에 오는 빈 문자열(공백으로 나뉜 뒷부분)을 제거해 버립니다.

String str = "hello  world   "; // 뒤에 공백 3개
String[] result = str.split(" ");

// 예상: ["hello", "", "world", "", "", ""] (길이 6)
// 실제: ["hello", "", "world"] (길이 3) -> 뒤쪽 공백 정보 소실!

⚠️ 연속된 공백 처리가 까다로움

String s = "Hello  World"; // 중간에 공백 2개
String[] arr = s.split(" ");

// 내 기대: ["Hello", "World"]
// 실제 결과: ["Hello", "", "World"]  <-- 중간에 빈 문자열 침투!
  • 첫 번째 공백을 만남 👉 앞의 "Hello"를 자름.
  • 두 번째 공백을 만남 👉 첫 번째 공백과 두 번째 공백 사이에 뭐가 있죠? 아무것도 없습니다.
  • 컴퓨터는 이 "아무것도 없음"을 **빈 문자열("")**로 인식해서 배열에 넣습니다.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions