topic난이도 · 약 20

문자열 다루기 — split, join, replace

split()으로 문자열을 토큰 리스트로 분리하고, join()으로 합치고, replace()로 전처리한다.

#split#join#replace#전처리
왜 배우는가

LLM은 글자가 아니라 '토큰'을 읽는다. ChatGPT에게 질문하면 내부적으로 문장을 잘게 쪼개 숫자로 바꾼다. 이 과정의 첫 번째 단계가 바로 문자열 분리이다. split, join, replace — 텍스트 전처리의 3대 도구를 배워보자.

문자열과 바이트 — 텍스트가 숫자로 변환되는 과정

split()은 문자열을 토큰 리스트로 분리합니다

용어설명
전처리원시 데이터를 모델이 처리할 수 있는 형태로 정제하는 과정

split()은 기본적으로 공백을 기준으로 문자열을 분리하여 리스트를 반환한다.

split() — 기본: 공백 기준 분리 split(",") — 쉼표 기준 분리 split("\n") — 줄바꿈 기준 분리

join()은 합치고, replace()는 바꿉니다

join()은 구분자.join(리스트) 형태로 토큰을 합치고, replace()는 문자열 치환을 수행한다.

전처리 = 불필요한 문자 제거 + 형식 통일

문자열이 토큰으로 바뀌었다가 다시 합쳐지는 과정을 봅시다

코드 추적: strip()→공백 제거, replace()→구두점 제거, split()→토큰 분리, join()→하이픈으로 합침. 결과: Hello-World

실제 LLM이 입력을 받기 전 전처리 과정을 직접 만들어봅시다

strip→lower→replace(특수문자 제거)→split 순서로 전처리 파이프라인을 구성한다.

split, join, replace를 조합하면 강력한 텍스트 변환기를 만들 수 있습니다

split→가공→join 패턴으로 텍스트를 변환하고 토큰 통계를 산출한다.

문자열 분리와 결합설명
split()문자열을 토큰 리스트로 분리 (기본: 공백 기준)
join()토큰 리스트를 하나의 문자열로 합침 (구분자.join(리스트))
replace()특정 문자를 다른 문자로 치환 (전처리의 핵심)
전처리 파이프라인설명
strip()문자열 양쪽 공백 제거 — 전처리의 첫 단계
lower()소문자 변환 — 대소문자 통일
전처리 순서strip → lower → replace(특수문자 제거) → split → join

LLM은 텍스트를 그대로 읽지 못합니다. split/join/replace로 정제하는 것이 AI 파이프라인의 첫걸음!

실기 드릴 5문항
edit실기 드릴 · 단답형

"a,,b,,c".split(",")의 결과는?

check_circle실기 드릴 · OX

"_".join(["a", "b", "c"])의 결과는 "a_b_c"이다

edit실기 드릴 · 단답형

"Hello World".replace("World", "Python")의 결과는?

edit실기 드릴 · 단답형

text = "hello world"일 때 text.title()의 결과는?

check_circle실기 드릴 · OX

"Hello".upper()의 결과는 "Hello"이다.