목록 정렬·중복 제거 도구

명단이나 목록을 붙여넣으면 원하는 순서로 정렬하고, 중복과 빈 줄을 정리해드립니다.

이 도구의 용도: 명단을 "깨끗한 목록"으로

이 도구는 참가자 명단, 신청자 이름, 거래처 목록처럼 짧은 항목이 줄마다 하나씩 있는 데이터를 사람이 읽기 좋은 상태로 만드는 데 맞춰져 있습니다. 여러 곳에서 복사해 합치면 생기는 앞뒤 공백, 빈 줄, 같은 이름의 반복을 처리 단계별로 나눠 보여 주고, 마지막에 가나다순 정렬과 번호까지 붙입니다. 대소문자를 무시한 비교, 중복 횟수 집계, 중복된 줄만 뽑기, 숫자 포함 자연 정렬 같은 분석 기능이 필요하면중복 줄 제거 & 줄 정렬기가 더 적합합니다. 이 페이지는 그보다 가볍게 "정리 한 번"으로 끝내는 쪽입니다.

처리 순서와 이유

도구는 항상 다음 순서로 동작합니다. 순서를 알아야 결과가 예상과 다를 때 원인을 찾을 수 있습니다.

  1. 줄 나누기: 줄바꿈(\n, \r\n, \r)으로 항목을 나눕니다.
  2. 앞뒤 공백 제거(선택): 각 줄의 앞뒤 공백·탭을 지웁니다. 줄 안쪽의 공백은 그대로 둡니다.
  3. 빈 줄 제거(선택): 공백만 남은 줄까지 지웁니다.
  4. 중복 제거(선택): 문자열이 완전히 같은 줄 중 처음 나온 것만 남깁니다. 대소문자와 줄 안쪽 공백은 구분합니다.
  5. 정렬(선택): 가나다·알파벳순 또는 글자수순.
  6. 번호 매기기(선택): 정렬이 끝난 뒤의 순서대로 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

표에서 읽을 수 있는 규칙은 다음과 같습니다.

검산된 예시

예시 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처럼 적거나 자연 정렬을 지원하는 도구를 쓰세요.

중복된 줄은 처음 것이 남나요, 마지막 것이 남나요?

처음 나온 줄이 남고 이후 같은 줄이 지워집니다. 정렬을 하지 않을 때 원래 입력 순서가 유지됩니다.

입력한 목록은 서버로 전송되나요?

모든 처리는 브라우저 안에서 자바스크립트로 이루어지며 입력 내용을 서버로 보내는 코드는 없습니다.