특정 문자 다음에 텍스트를 정렬 할 수 있습니까?


7

정렬하려는 큰 목록이 있지만 특정 문자 다음의 값에서 목록을 정렬하고 싶습니다. 예 :

241&name=A
123&name=C
645&name=B

"A, B, C"등을 기준으로 사전 순으로 목록을 정렬하고 싶습니다. 메모장 ++ 또는 Excel에서이 작업을 수행 할 수 있습니까?


빠른 답변에 감사드립니다. 메모장 + +를 통해 분류했습니다.
Syztemlord

답변:


13

메모장 ++ 솔루션

  1. "메뉴"> "TextFX"> "TextFX 도구"를 선택하고 다음 중 하나를 선택하십시오.

    • 내림차순으로 정렬하려면 "+ 오름차순 정렬"옵션의 확인 표시를 지우십시오.

    • "+ 오름차순 정렬"옵션의 확인 표시를 활성화하여 오름차순으로 정렬하십시오.

    여기에 이미지 설명을 입력하십시오

  2. 텍스트 줄 또는 열 중 하나를 선택하십시오

    • 열 모드 선택- Shift+를 누른 상태 Alt에서 마우스로 텍스트를 선택하십시오.

    여기에 이미지 설명을 입력하십시오

  3. "메뉴"> "TextFX"> "TextFX 도구"를 선택하고 다음 중 하나를 선택하십시오.

    • "정렬 행은 대소 문자를 구분합니다 (열에서)"

    • "정렬 행은 대소 문자를 구분하지 않습니다 (열에서)"

    여기에 이미지 설명을 입력하십시오

  4. 결과 (전후) :

    여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

노트:

  • TextFX 도구는 선택한 줄만 정렬합니다. 열 모드 선택 (Shift + Alt 키를 누른 상태에서 마우스를 통해 텍스트 선택)을 선택하면 적어도 부분적으로 선택된 모든 줄이 정렬되지만 선택한 부분에 따라 정렬됩니다.

  • "+ Sort output only UNIQUE (at column) 행"옵션은 "+ Sc 오름차순"옵션과 상관없이 확인할 수 있습니다 (오름차순 또는 내림차순 모드에서 작동 함). 활성화하면 정렬 할 때 중복 항목이 제거되고 고유 항목 만 남습니다.

  • 직사각형 선택을 사용하는 경우 선의 정렬 키는 선택 범위 내에있는 해당 선의 일부입니다.

플러그인 TextFX를 사용한 소스 정렬 라인


TextFX 플러그인이 없으면 어떻게합니까?

플러그인 관리자 설치 :

플러그인을 설치하는 가장 쉬운 방법은 플러그인 관리자 를 사용하는 것입니다

  1. "메뉴"> "플러그인"> "플러그인 관리자"> "플러그인 관리자 표시"

  2. "사용 가능"을 선택하십시오

  3. "TextFX 문자"를 선택하십시오

  4. "설치"를 클릭하십시오

수동 설치 :

  1. 메모장 닫기 ++

  2. http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/ 에서 zip 파일을 다운로드 하십시오.

  3. 메모장 ++ plugins디렉토리로 추출하십시오 .

  4. 메모장 실행 ++


1
이 솔루션에는 NotePad ++의 기본 설치에없는 추가 플러그인이 필요합니다. 나는 회사 방화벽 뒤에 있고 그것을 설치할 수 없다 ... : /
Denham Coote

필자는 USB 스틱에 메모장 ++의 휴대용 버전을 사용하고 있습니다.;)
DavidPostill

이제 USB 스틱을 꽂을 수만 있다면! (은행 정책, 그들은 꺼져 있습니다. 그러나 우리는 Excel을 사용할 수 있습니다!) :-(
Denham Coote

Wikipedia에 따르면 (믿을 수있는 경우) " 프로그램에 포함 된 첫 번째 플러그인 은"TextFX "였으며 여기에는 HTML 및 CSS에 대한 W3C 유효성 검사, 텍스트 정렬, 문자 대소 문자 변경 및 인용 처리와 같은 기능이 포함되어 있습니다."
DavidPostill

@DenhamCoote 파일을 시스템에 다운로드하는 방법 (USB, 이메일, 명령 줄 등)이있는 한 필요한 파일을 다운로드하여 올바른 폴더에 배치하여 플러그인을 추가 할 수 있습니다. Notepad ++의 휴대용 버전을 사용하면 아무것도 설치할 필요가 없습니다.
BlueCacti

12

엑셀 솔루션

이 솔루션은 =

  1. 데이터를 Excel에 붙여 넣습니다.
  2. 공식 =MID(A1,FIND("=",A1)+1,LEN(A1)-FIND("=",A1))을 사용 하여=
  3. 새 열을 기준으로 정렬

여기에 이미지 설명을 입력하십시오


이 솔루션에는 추가 데이터 열이 필요합니다
./

2
다른 Excel 솔루션과 마찬가지로. 그러나 이것은 더 긴 데이터에 효과적입니다. OP는 다음 중 하나의 솔루션을 요청했습니다.
Denham Coote

2
@DavidPostill 프로덕션에서 오랫동안 플랫 파일 데이터베이스를 진지하게 다루었으며 개발 리소스를 변경하기 위해 데이터베이스 또는 우선 순위를 제어 할 수없는 사람은 키 열 추가 및 데이터를 효과적으로 정렬하고 슬라이싱하기위한 Excel의 연결 열 Denham Coote 솔루션은 OP가 제기 한 문제를 해결합니다. 데이터베이스가 실제로 OP가 게시 한 키보다 큰 경우 오버 헤드가 거의없이 최종 사용자가 신속하게 구현할 수 있습니다. 그것에 대해 부정적 일 필요는 없습니다.
AMR

@ AMR 나는 부정적인 것이 아니었다 (실제로 내 의견이 아닌 두 가지 대답을 공표하지 않았다), 그것은 단지 관찰이었다. 모든 문제에 대한 최상의 솔루션은 데이터에 추가되지 않습니다. 예를 들어 Notepad ++ 솔루션입니다. Excel 솔루션에 추가 데이터가 필요하다는 점에 감사드립니다.
DavidPostill

1
@DavidPostill의 NotePad ++ 솔루션 (btw)은 실행하기 위해 큰 부풀린 소프트웨어가 필요하지 않습니다. ;-)
Denham Coote

4

A의 데이터를 사용 하여 B1 에 다음을 입력하십시오.

=RIGHT(A1,1)

그리고 아래로 복사하십시오. 그런 다음 열 ABB로 정렬하십시오 .

전에:

여기에 이미지 설명을 입력하십시오

그리고 이후 :

여기에 이미지 설명을 입력하십시오


이 솔루션에는 추가 데이터 열이 필요합니다
./

@DavidPostill 분명히 당신은 맞습니다!
게리의 학생

Notepad ++ 솔루션과 달리;)
DavidPostill

@DavidPostill 나는 당신의 해결책을 좋아합니다. 이거 공짜인가요??
게리의 학생

@ Gary'sStudent Notepad ++는 다른 답변으로 언급되었지만 여전히 답장을 드릴 것입니다. notepad-plus-plus.org 에서 Notepad ++를 무료로받을 수 있습니다 . 간단한 Google 검색을 수행하려는 노력을 기울 였다면 39 분을 기다리지 않고 바로이 정보를 얻었습니다 ...
BlueCacti

2

Notepad ++에는 추가 플러그인이 필요없는 다른 솔루션이 있습니다. 이 입력을 사용했고 입력에 #이 없다고 가정했습니다. 정렬 항목을 원래 입력에서 분리하기 위해 다른 문자를 사용할 수 있습니다.

123&name=Alpha&somethingelse
456&name=Gamma&differentstuff
789&name=Beta&otherstuff
  1. 정규식 검색 및 바꾸기를 사용하여 정렬하려는 부분을 줄의 맨 앞에 복사하십시오. 정규식을 활성화하고 사용하십시오.

    Search: (.*)&name=(.*?)&(.*)

    Replace: \2#\1&name=\2&\3

결과:

Alpha#123&name=Alpha&somethingelse
Gamma#456&name=Gamma&differentstuff
Beta#789&name=Beta&otherstuff
  1. 정렬 라인 기능을 사용하십시오.

결과:

Alpha#123&name=Alpha&somethingelse
Beta#789&name=Beta&otherstuff
Gamma#456&name=Gamma&differentstuff
  1. 다른 정규식을 사용하여 1 단계의 변경 사항을 실행 취소하십시오.

    Search: (.*)#(.*)

    Replace: \2

결과:

123&name=Alpha&somethingelse
789&name=Beta&otherstuff
456&name=Gamma&differentstuff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.