이 도구의 용도: 명단을 "깨끗한 목록"으로
이 도구는 참가자 명단, 신청자 이름, 거래처 목록처럼 짧은 항목이 줄마다 하나씩 있는 데이터를 사람이 읽기 좋은 상태로 만드는 데 맞춰져 있습니다. 여러 곳에서 복사해 합치면 생기는 앞뒤 공백, 빈 줄, 같은 이름의 반복을 처리 단계별로 나눠 보여 주고, 마지막에 가나다순 정렬과 번호까지 붙입니다. 대소문자를 무시한 비교, 중복 횟수 집계, 중복된 줄만 뽑기, 숫자 포함 자연 정렬 같은 분석 기능이 필요하면중복 줄 제거 & 줄 정렬기가 더 적합합니다. 이 페이지는 그보다 가볍게 "정리 한 번"으로 끝내는 쪽입니다.
처리 순서와 이유
도구는 항상 다음 순서로 동작합니다. 순서를 알아야 결과가 예상과 다를 때 원인을 찾을 수 있습니다.
- 줄 나누기: 줄바꿈(
\n,\r\n,\r)으로 항목을 나눕니다. - 앞뒤 공백 제거(선택): 각 줄의 앞뒤 공백·탭을 지웁니다. 줄 안쪽의 공백은 그대로 둡니다.
- 빈 줄 제거(선택): 공백만 남은 줄까지 지웁니다.
- 중복 제거(선택): 문자열이 완전히 같은 줄 중 처음 나온 것만 남깁니다. 대소문자와 줄 안쪽 공백은 구분합니다.
- 정렬(선택): 가나다·알파벳순 또는 글자수순.
- 번호 매기기(선택): 정렬이 끝난 뒤의 순서대로
1.,2.를 붙입니다.
공백 제거가 중복 제거보다 먼저 일어나는 것이 중요합니다. 아래 표는 같은 입력(홍길동␣, 홍길동, 빈 줄, 김민준, Kim, kim, 표에서 ␣는 끝의 공백 한 칸)에 옵션 조합만 바꾼 결과입니다. 각 항목은 대괄호로 감싸 공백 유무가 보이게 했습니다.
| 옵션 조합 | 남은 항목 수 | 결과 |
|---|---|---|
| 아무것도 켜지 않음 | 6 | [홍길동 ] [홍길동] (빈 줄) [김민준] [Kim] [kim] |
| 공백 제거만 | 6 | [홍길동] [홍길동] (빈 줄) [김민준] [Kim] [kim] |
| 빈 줄 제거 + 중복 제거 (공백 제거 없이) | 5 | [홍길동 ] [홍길동] [김민준] [Kim] [kim] |
| 공백 제거 + 빈 줄 제거 + 중복 제거 | 4 | [홍길동] [김민준] [Kim] [kim] |
세 번째 줄을 보면, 끝에 공백이 붙은 [홍길동␣]가 [홍길동]과 다른 문자열로 취급되어 둘 다 남습니다. 눈으로는 같은 이름인데 중복이 안 지워졌다면 십중팔구 보이지 않는 공백 때문이므로 "앞뒤 공백 제거"를 켜세요. 반대로 Kim과 kim은 어떤 조합에서도 별개 항목으로 남습니다.
한글·영문·숫자가 섞이면 어떻게 정렬되나요?
정렬은 브라우저의 localeCompare(…, 'ko')를 씁니다. 코드 값(유니코드 순서)이 아니라 "사전식" 규칙이어서 한글은 자음·모음 순서로 놓이지만, 서로 다른 문자 체계가 섞이면 다음과 같은 결과가 나옵니다. 아래는 빌드 시점에 같은 비교 함수를 실행한 결과입니다(브라우저·운영체제의 국제화 라이브러리 버전에 따라 일부 기호의 위치가 다를 수 있습니다).
| 정렬 방식 | 입력 12개를 정렬한 결과 |
|---|---|
| 입력 순서 | banana → Apple → apple → 가나 → 다라 → 10 → 2 → _x → ㄱ → 나다 → Zebra → éclair |
| 가나다·알파벳순 (이 도구, ko 로캘) | _x → 10 → 2 → ㄱ → 가나 → 나다 → 다라 → apple → Apple → banana → éclair → Zebra |
| 단순 코드값 순서 (참고) | 10 → 2 → Apple → Zebra → _x → apple → banana → éclair → ㄱ → 가나 → 나다 → 다라 |
| 글자수 짧은 순 | 2 → ㄱ → 가나 → 다라 → 10 → _x → 나다 → Apple → apple → Zebra → banana → éclair |
표에서 읽을 수 있는 규칙은 다음과 같습니다.
- 기호(
_)와 숫자가 먼저, 그다음 한글, 그다음 영문 순으로 놓이는 것이 일반적입니다. 이 도구의 로캘 기준에서는 한글이 영문보다 앞입니다. 엑셀의 오름차순과 순서가 다를 수 있으니 영문 이름과 한글 이름을 섞어 쓰는 명단은 결과를 한 번 확인하세요. - 같은 철자에서는 소문자가 대문자보다 앞에 옵니다(
apple→Apple). 단순 코드값 순서에서는 반대로 대문자가 모두 앞에 옵니다. 10이2보다 앞에 오는 것은 숫자를 값이 아닌 글자 단위로 비교하기 때문입니다.x1, x10, x2처럼 번호가 붙은 항목은x1, x10, x2순서가 됩니다(자연 정렬을 하면x1, x2, x10). 번호가 섞인 목록은 앞에 0을 채우거나(x01), 자연 정렬을 지원하는 위의 중복 줄 제거 도구를 쓰세요.ㄱ처럼 낱자만 있는 자모는 완성형 한글(가)보다 앞에 놓입니다.- 글자수 정렬의 "글자수"는 자바스크립트 문자열 길이이므로 한글·영문·숫자는 모두 1로 세지만, 이모지처럼 코드 값이 두 단위를 차지하는 문자는 2로 계산됩니다(
😀의 길이는 2). 길이가 같은 항목끼리는 정렬 전 순서를 유지합니다.
검산된 예시
예시 1. 기본 입력 홍길동 / 김민준 / 이서연 / 홍길동 / 박도윤(5줄)에 공백 제거·빈 줄 제거·중복 제거를 켜고 가나다순 정렬, 번호 매기기를 선택하면 1. 김민준, 2. 박도윤, 3. 이서연, 4. 홍길동이 됩니다. 중복 1줄이 제거되어 입력 5줄에서 결과 4항목이 됩니다.
예시 2. 입력 홍길동␣ / 홍길동 / (빈 줄) / 김민준 / (끝의 빈 줄)(5줄)에서 공백 제거를 끄고 빈 줄 제거와 중복 제거만 켜면 빈 줄 2개가 제거되고 중복은 0줄이어서 홍길동␣, 홍길동, 김민준 3항목이 남습니다. 공백 제거까지 켜면 공백이 정리된 줄 1개, 제거된 빈 줄 2개, 제거된 중복 1줄로 김민준, 홍길동 2항목(가나다순 선택 시)이 됩니다.
예시 3. 입력 b / B / a를 가나다·알파벳순으로 정렬하면 a, b, B 순서가 됩니다. 중복 제거는 대소문자를 구분하므로 3항목이 모두 남습니다.
흔한 실수와 한계
- 쉼표나 탭으로 이어진 목록은 한 줄로 취급됩니다. 엑셀에서 가로 한 행을 복사하면 탭으로 이어진 한 줄이 되므로 세로 열로 복사하세요.
- 동명이인은 같은 문자열이면 하나로 합쳐집니다. 이름만으로 사람을 구분하는 명단(출석부, 상품권 지급 대상 등)에서는 중복 제거가 실제 인원을 줄이는 결과가 될 수 있으니, 학번이나 연락처 끝자리처럼 구분 정보를 같은 줄에 두고 쓰세요.
- 유니코드 정규화 차이: 맥에서 만든 파일 이름이나 일부 문서에서 복사한 한글은 겉보기에 같아도 코드 구성이 다른 경우가 있어 중복으로 인식되지 않을 수 있습니다. 같은 이름이 남아 있다면 한 번 직접 타이핑해 비교해 보세요.
- 정렬은 로캘 규칙에 의존하므로 같은 목록을 엑셀이나 다른 프로그램에서 정렬한 순서와 다를 수 있습니다. 특히 영문과 한글 혼합, 특수기호, 숫자 시작 항목에서 차이가 납니다.
- 결과의 번호는 텍스트입니다. 번호를 붙인 뒤 다시 이 도구에 넣으면 번호까지 포함해 정렬·중복 판단을 하므로, 번호 매기기는 항상 마지막 단계에서 하세요.
결과를 활용하는 방법
정리된 명단은 그대로 메신저나 문서에 붙여 쓰거나, 각 줄에 따옴표·쉼표를 붙여 코드·쿼리용 목록으로 바꾸는 식으로 이어서 쓸 수 있습니다. 줄마다 기호를 붙이려면줄마다 접두사·접미사 붙이기를, 번호 대신 가나다·①②③ 같은 부호를 쓰려면목록 자동 번호 매기기를 이용하세요. 순서를 정렬하는 대신 무작위로 섞거나 뽑고 싶다면랜덤 추첨기가 맞습니다.
자주 묻는 질문
대소문자가 다른 영어 단어도 중복으로 인식하나요?
아니요. "Apple"과 "apple"은 서로 다른 문자열로 취급되어 둘 다 남습니다. 대소문자를 무시하고 중복을 찾으려면 중복 줄 제거 & 줄 정렬기의 대소문자 무시 옵션을 사용하세요.
쉼표로 구분된 목록도 정리할 수 있나요?
이 도구는 줄바꿈을 기준으로 항목을 나눕니다. 쉼표로 이어진 목록은 먼저 쉼표를 줄바꿈으로 바꿔 붙여넣어 주세요. 에디터의 찾아 바꾸기에서 쉼표를 줄바꿈으로 바꾸면 됩니다.
같은 이름인데 중복이 안 지워져요.
대부분 끝에 보이지 않는 공백이 붙어 있거나(공백 제거 옵션으로 해결), 대소문자가 다르거나, 전각/반각 문자가 섞인 경우입니다. 결과 위의 "공백이 정리된 줄" 수치가 0이 아니었다면 공백이 원인이었던 것입니다.
정렬하면 숫자 순서가 이상해요.
숫자를 값이 아니라 글자로 비교해서 10이 2보다 앞에 옵니다. 자리수를 맞춰 02, 10처럼 적거나 자연 정렬을 지원하는 도구를 쓰세요.
중복된 줄은 처음 것이 남나요, 마지막 것이 남나요?
처음 나온 줄이 남고 이후 같은 줄이 지워집니다. 정렬을 하지 않을 때 원래 입력 순서가 유지됩니다.
입력한 목록은 서버로 전송되나요?
모든 처리는 브라우저 안에서 자바스크립트로 이루어지며 입력 내용을 서버로 보내는 코드는 없습니다.