텍스트 정리 도구
공백 제거, 줄바꿈 제거, 중복 줄 제거 등 텍스트를 깔끔하게 정리합니다.
텍스트 정리 도구 개요 — 복사-붙여넣기 노이즈를 한 번에 제거
웹페이지, PDF, 워드 문서, 스프레드시트 등에서 복사한 텍스트에는 눈에 보이지 않는 제어 문자, 불규칙한 줄바꿈(CRLF/LF), 연속 공백, 비표준 공백(NBSP, 전각 공백 U+3000) 등이 빈번하게 섞여 들어옵니다. 이 도구는 6가지 정리 기능을 조합하여 이러한 노이즈를 한 번의 클릭으로 제거하고, 깨끗한 텍스트를 즉시 복사할 수 있도록 설계되었습니다.
유니코드 정규화와 텍스트 클리닝 원리
텍스트 클리닝의 기술적 배경에는 유니코드 정규화(Unicode Normalization)가 있습니다. 유니코드 컨소시엄은 NFC, NFD, NFKC, NFKD 네 가지 정규화 형식을 정의합니다. NFC(Canonical Decomposition followed by Canonical Composition)는 웹에서 가장 널리 사용되며, 한글 자모 조합을 완성형으로 합쳐 줍니다. 예를 들어, "ㅎ+ㅏ+ㄴ"(NFD)을 "한"(NFC)으로 변환합니다. NFKC는 전각 숫자를 반각으로, 합자(fi)를 개별 문자(f+i)로 바꾸는 등 호환 분해까지 수행하여 검색 정확도를 높이는 데 유용합니다.
6가지 정리 기능 상세
| 기능 | 정규식 패턴 | 사용 예 |
|---|---|---|
| 연속 공백 제거 | / {2,}/g → " " | PDF 복사 시 단어 사이 공백 과다 |
| 모든 공백 제거 | /\s/g → "" | 해시값, 시리얼 번호 비교 |
| 줄바꿈 제거 | /\n/g → " " | 여러 줄 텍스트를 한 줄로 합침 |
| 빈 줄 제거 | line.trim() !== "" | 코드 복사 후 불필요 여백 제거 |
| 중복 줄 제거 | Set 자료구조 | 로그 파일, 이메일 목록 정리 |
| 각 줄 앞뒤 공백 | line.trim() | CSV 필드 정규화 |
실전 시나리오
시나리오 1 — 이메일 목록 전처리: 엑셀에서 복사한 이메일 주소에 탭 문자와 빈 줄이 섞여 있을 때, "각 줄 앞뒤 공백 제거" → "빈 줄 제거" → "중복 줄 제거"를 순서대로 적용하면 고유 이메일만 남습니다.
시나리오 2 — SQL INSERT 문 정리: 다중 줄 SQL을 슬랙에서 복사하면 줄바꿈 위치가 달라져 실행 오류가 발생합니다. "줄바꿈 제거"로 한 줄로 만든 뒤 세미콜론 기준으로 재분할하면 깨끗한 쿼리를 얻을 수 있습니다.
시나리오 3 — 번역 후처리: 기계 번역 결과에는 원문의 줄바꿈이 그대로 남아 문장 중간이 끊기는 경우가 많습니다. "줄바꿈 제거" 후 수동으로 문단만 다시 나누면 교정 시간을 절반 이하로 줄일 수 있습니다.
시나리오 4 — 로그 분석: 서버 로그에서 동일 에러 메시지가 수천 줄 반복될 때, "중복 줄 제거"로 고유 메시지만 추출하면 문제 유형을 빠르게 파악할 수 있습니다.
자주 하는 실수
"모든 공백 제거"를 일반 문장에 적용하면 단어가 모두 붙어 읽을 수 없게 됩니다. 이 기능은 해시값이나 코드 비교 등 특수한 경우에만 사용하세요. 줄바꿈 제거 시 CRLF(Windows)와 LF(Unix) 차이를 인식하지 못하면 \r 문자가 남을 수 있으므로, 이 도구는 두 형식을 모두 처리합니다. 또한, 중복 줄 제거는 대소문자를 구분하므로 "Hello"와 "hello"는 서로 다른 줄로 취급됩니다.
프로그래밍 언어별 텍스트 정리 비교
JavaScript에서는 String.prototype.trim()과 정규식을 조합하여 텍스트를 정리합니다. Python은 str.strip(), re.sub()을 사용하며, 특히 unicodedata.normalize('NFKC', text)로 유니코드 정규화를 간편하게 수행할 수 있습니다. 이 도구는 브라우저에서 JavaScript 엔진으로 즉시 처리하므로 파일 업로드나 서버 통신 없이 수만 줄의 텍스트도 빠르게 정리할 수 있으며, 민감한 데이터가 외부로 전송되지 않아 보안 면에서도 안심하고 사용할 수 있습니다.
관련 도구
HTML 태그가 포함된 텍스트는 HTML 엔티티 변환기로 먼저 디코딩한 뒤 정리하면 효과적입니다. 정리된 텍스트를 마크다운으로 포맷하려면 마크다운 에디터를 활용하세요. 블로그 글의 글자수와 키워드 밀도를 점검할 때는 블로그 SEO 체커와 함께 활용하면 효율적입니다.
참고 자료
- Unicode Standard Annex #15 — Unicode Normalization Forms (NFC, NFD, NFKC, NFKD)
- MDN: String.prototype.normalize() — developer.mozilla.org
- RFC 2046 — MIME 텍스트 타입과 줄바꿈(CRLF) 규격