7

У меня большой список, который я пытаюсь отсортировать, но я бы хотел отсортировать список по значению после определенного символа. например:

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

Поэтому я хотел бы отсортировать список по алфавиту: «A, B, C» и т.д. Могу ли я сделать это в Notepad++ или Excel?

4 ответа4

13

Notepad++ Solution

  1. "Меню"> "TextFX"> "Инструменты TextFX" и выберите один из следующих вариантов:

    • Снимите флажок для опции «+ Сортировка по возрастанию», чтобы отсортировать по убыванию.

    • Установите флажок для опции «+ Сортировать по возрастанию», чтобы отсортировать по возрастанию.

  2. Выберите текст, строки текста или столбцы

    • Для выбора режима столбца - нажмите и удерживайте Shift+ Alt вниз, выделите текст мышью

  3. "Меню"> "TextFX"> "Инструменты TextFX" и выберите один из следующих вариантов:

    • «Сортировать строки с учетом регистра (в столбце)»

    • «Сортировка строк без учета регистра (в столбце)»

  4. Результат (до и после):

Заметки:

  • Инструменты TextFX будут сортировать только выбранные вами строки. Если вы выберете режим столбца (удерживайте клавиши Shift + Alt и выделите текст с помощью мыши), он отсортирует все строки, которые хотя бы частично выбраны, но отсортирует их в соответствии с выбранной частью.

  • Опцию «+ Sort output only UNIQUE (at column) lines» можно проверить независимо от опции «+ Sort ascending» (это означает, что она будет работать как в восходящем, так и в нисходящем режиме). При включении дублирующиеся записи будут удаляться при сортировке, оставляя только уникальные записи.

  • При использовании прямоугольного выделения ключ сортировки для строки является частью этой строки, которая находится в пределах границ выделения.

Исходная сортировка строк с помощью плагина TextFX


Что если у меня нет плагина TextFX?

Менеджер плагинов установить:

Самый простой способ установить плагин - использовать диспетчер плагинов.

  1. "Меню"> "Плагины"> "Диспетчер плагинов"> "Показать диспетчер плагинов"

  2. Выберите "Доступно"

  3. Выберите "Символы TextFX"

  4. Нажмите "Установить"

Ручная установка:

  1. Закрыть Блокнот ++

  2. Загрузите файл zip с http://sourceforge.net/projects/npp-plugins/files/TextFX/TextFX%20v0.26/

  3. Распакуйте в каталог plugins Notepad ++.

  4. Запустите Блокнот ++

12

Решение Excel

Это решение будет работать для любой длины текста после =

  1. Вставьте ваши данные в Excel.
  2. Используйте формулу =MID(A1,FIND("=",A1)+1,LEN(A1)-FIND("=",A1)) чтобы захватить все после =
  3. Сортировать по новому столбцу

4

С данными в столбце A, в B1 введите:

=RIGHT(A1,1)

и скопировать вниз. Затем сортируйте столбцы A и B по B:

До:

и после:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .