중복 공백 제거, 6가지 버튼 동작 정리

복사해서 붙여넣은 텍스트에 공백이 여러 개씩 벌어져 있거나, 탭과 스페이스가 뒤섞여 있거나, 줄바꿈이 어색하게 끊겨 있을 때 손으로 하나씩 지우는 대신 버튼 한 번으로 정리하는 방법입니다. 텍스트 공백 정리 도구에는 버튼이 6개 있고, 이 글에서는 각 버튼이 실제로 어떤 규칙으로 텍스트를 바꾸는지 before/after 예시로 하나씩 확인합니다. 규칙만 알면 어떤 버튼을, 어떤 순서로 눌러야 원하는 형태가 되는지 바로 판단할 수 있습니다.
요약 ① 6개 버튼은 각각 정규식 치환 하나씩만 실행합니다 — 연속 공백 압축, 탭↔스페이스 4칸, 줄 앞뒤 Trim, 모든 공백 삭제, 줄바꿈 제거. ② 'Trim'은 각 줄의 앞뒤만 정리하고 줄바꿈은 남기지만, '모든 공백 완전 삭제'는 줄바꿈까지 전부 없앱니다. ③ 한 번에 한 변환만 적용되므로, 결과를 다시 입력창에 넣어 순서대로 조합하면 원하는 형태가 됩니다.
붙여넣은 텍스트의 공백은 왜 지저분해질까
웹페이지의 표나 PDF 문서를 복사해 스프레드시트나 메모장에 붙여넣으면, 칸과 칸 사이가 스페이스 여러 개나 탭으로 채워져 정렬이 어긋나는 경우가 많습니다. 줄마다 앞에 들여쓰기 공백이 따라붙거나, PDF에서는 원본의 줄바꿈이 그대로 넘어와 한 문장이 여러 줄로 잘리기도 합니다.
이런 텍스트를 손으로 고치려면 공백을 일일이 눌러 지워야 해서 번거롭고, 눈에 보이지 않는 탭과 스페이스가 섞여 있으면 무엇을 지웠는지 확인하기도 어렵습니다. 그래서 "어떤 규칙으로 한꺼번에 바꿀지"를 정해두고 치환하는 편이 정확합니다.
도구 없이 직접 정리하는 방법
정규식 찾기·바꾸기를 지원하는 편집기라면 도구 없이도 같은 정리를 할 수 있습니다. VS Code, Notepad++, Sublime Text 등에서 '정규식' 옵션을 켜고 아래 패턴으로 바꾸면 됩니다. 사실 이 도구의 6개 버튼은 아래 정규식 치환을 그대로 한 번씩 실행하는 것이라, 규칙을 알면 결과를 눈으로 검증할 수 있습니다.
예시에서 스페이스는 ·, 탭은 →로 표시합니다. 실제 화면에서는 평범한 빈칸으로 보입니다.
1. 연속 공백 하나로 — 찾기 [ \t]{2,} / 바꾸기 스페이스 1개
입력: 상품명·····단가·····수량
출력: 상품명·단가·수량
스페이스든 탭이든 2개 이상 이어진 구간을 스페이스 하나로 합칩니다. 1개짜리 공백은 건드리지 않습니다.
2. 탭 ➔ 스페이스 4칸 — 찾기 \t / 바꾸기 스페이스 4개
입력: 이름→홍길동
출력: 이름····홍길동
탭 문자 하나를 스페이스 4개로 바꿉니다. 코드 들여쓰기를 스페이스로 통일할 때 씁니다.
3. 스페이스 4칸 ➔ 탭 — 찾기 {4} / 바꾸기 \t
입력: 이름····홍길동
출력: 이름→홍길동
스페이스 4개가 나올 때마다 탭 하나로 바꿉니다. 2번의 반대 방향입니다.
4. 줄 앞뒤 공백 제거(Trim) — 각 줄을 나눠 앞뒤 공백만 제거
입력:
··첫째·줄·내용··
····둘째·줄·내용·
출력:
첫째·줄·내용
둘째·줄·내용
줄 단위로 나눠 각 줄의 앞뒤 공백만 잘라냅니다. 줄 중간의 공백과 줄바꿈은 그대로 둡니다.
5. 모든 공백 완전 삭제 — 찾기 \s+ / 바꾸기 빈 값
입력:
가·나·다
라·마·바
출력:
가나다라마바
스페이스·탭·줄바꿈을 가리지 않고 모든 공백을 지웁니다. 결과는 줄바꿈 없이 한 덩어리가 됩니다.
6. 줄바꿈 지우고 한 줄로 — 줄바꿈을 스페이스로 바꾼 뒤 연속 공백 압축
입력:
가·나·다
라·마·바
출력:
가·나·다·라·마·바
줄바꿈만 스페이스로 바꾸므로 단어는 공백 하나로 구분되어 남습니다. 5번과 입력이 같아도 결과가 다릅니다.
편집기에서 패턴을 매번 입력하거나 정규식 옵션을 켜는 과정이 번거로우면 버튼으로 바로 눌러 확인할 수 있습니다.
저희 도구로 확인하기.
브라우저에서만 동작해 입력한 텍스트가 서버로 전송되지 않으며, 설치나 회원가입 없이 무료로 사용합니다.

자주 헷갈리는 세 버튼의 차이
가장 많이 헷갈리는 건 줄바꿈을 건드리는지 여부입니다. Trim, 모든 공백 삭제, 줄바꿈 한 줄로 세 버튼은 이름이 비슷해 보이지만 줄바꿈 처리가 완전히 다릅니다.
| 버튼 | 줄바꿈(엔터) | 줄 앞뒤/중간 공백 |
|---|---|---|
| 줄 앞뒤 공백 제거(Trim) | 그대로 유지 | 앞뒤만 제거, 중간은 유지 |
| 모든 공백 완전 삭제 | 함께 삭제 | 전부 삭제 |
| 줄바꿈 지우고 한 줄로 | 스페이스로 바뀜 | 공백 1개로 압축 |
정리하면 Trim은 '줄은 그대로 두고 각 줄을 다듬는' 버튼, 모든 공백 삭제는 '줄바꿈까지 다 없애 붙이는' 버튼, 줄바꿈 한 줄로는 '단어는 띄운 채 여러 줄을 한 줄로 잇는' 버튼입니다.
탭↔스페이스 버튼에도 주의할 점이 있습니다. '스페이스 4칸 ➔ 탭'은 문장 중간이든 어디든 스페이스가 4개 이어지면 탭으로 바꾸므로, 일반 문서보다 코드 들여쓰기를 정리할 때 쓰는 것이 안전합니다.
변환은 한 번에 하나씩, 순서대로 조합합니다
버튼은 한 번에 하나의 변환만 적용합니다. 두 가지를 함께 적용하고 싶으면 첫 변환 결과를 다시 입력창에 넣고 다음 버튼을 누르면 됩니다.
예를 들어 '탭을 스페이스로 바꾸고, 줄 앞뒤 공백도 없애고' 싶다면 순서는 이렇습니다. ① '탭 ➔ 스페이스 4칸'을 누른다 → ② 결과를 복사 버튼으로 복사한다 → ③ 입력창에 다시 붙여넣고 '줄 앞뒤 공백 제거(Trim)'를 누른다.
순서를 바꾸면 결과가 달라질 수 있으니, 원하는 최종 형태를 먼저 정하고 어떤 변환을 먼저 적용할지 결정하는 것이 좋습니다.
정리
- 6개 버튼은 각각 정규식 치환 하나씩만 실행하며, 입력과 출력을 눈으로 대조해 검증할 수 있습니다.
- '연속 공백 하나로'는 2개 이상 이어진 공백·탭만 하나로 합치고, 1개짜리 공백은 그대로 둡니다.
- Trim은 줄바꿈을 남기고 각 줄 앞뒤만, '모든 공백 삭제'는 줄바꿈까지 전부, '줄바꿈 한 줄로'는 줄바꿈을 스페이스로 바꿔 한 줄로 만듭니다.
- 탭↔스페이스 4칸은 서로 반대 방향이며, 4칸 단위로만 탭과 교환됩니다.
- 한 번에 한 변환만 적용되므로 결과를 다시 입력창에 넣어 순서대로 조합합니다.
브라우저에서만 동작해 입력한 텍스트가 서버로 전송되지 않으며, 설치나 회원가입 없이 무료로 사용합니다.
자주 묻는 질문
'모든 공백 삭제'와 '줄바꿈 지우고 한 줄로'는 뭐가 다른가요?
둘 다 여러 줄을 한 줄처럼 만들지만 결과가 다릅니다. '모든 공백 삭제'는 스페이스·탭·줄바꿈을 전부 지워 단어가 모두 붙은 한 덩어리가 됩니다. '줄바꿈 지우고 한 줄로'는 줄바꿈만 스페이스로 바꾸므로 단어 사이는 공백 하나로 띄어진 채 한 줄이 됩니다.
Trim을 누르면 빈 줄도 사라지나요?
빈 줄은 사라지지 않습니다. Trim은 각 줄의 앞뒤 공백만 제거하고 줄바꿈은 유지하므로, 공백만 있던 줄은 내용이 빈 줄로 남고 줄 자체는 그대로 있습니다. 문단 사이의 빈 줄도 그대로 유지됩니다.
탭을 스페이스로 바꿨다가 다시 되돌리면 원본과 똑같아지나요?
4칸 단위로 딱 떨어지는 들여쓰기라면 대체로 원래 탭으로 돌아옵니다. 다만 원본에 4칸이 아닌 공백(예: 3칸 들여쓰기나 문장 중간의 빈칸 하나)이 있었다면 그 부분은 4칸 규칙에 맞지 않아 그대로 남을 수 있습니다.
입력한 텍스트가 서버에 저장되나요?
아니요. 모든 변환은 브라우저 안에서만 처리되며, 입력한 텍스트가 서버로 전송되거나 저장되지 않습니다.
