Notepad сортировать по длине строки

Обновлено: 30.06.2024

Как сортировать строки в числовом порядке, а не в алфавитно-цифровом?

то есть я хочу, чтобы строки сортировались следующим образом:

Я не знаю, как выглядит ваш файл, но я бы использовал регулярные выражения для добавления пробелов или нулей перед каждым номером, чтобы сделать их одинаковой длины (например, 2 становится 002). Затем они будут отсортированы правильно, и вы можете использовать другую замену, чтобы впоследствии удалить начальные пробелы/нули.

это шаги (работает для числа до 10 символов)

найти: ^ Заменить: 0000000000

найти: \d*(\d) Заменять:

найти: ^0* Заменить:

это работает, добавляя 10 нулей перед числом, хотя это, вероятно, слишком много. Вторая замена не занимает последние 10 цифр номера, чтобы вернуть все к той же длины, что дает вам номера, как 0000000839, 0000000003 и т. д. Они будут отсортированы в том порядке, в котором вы хотите их сортировать. После сортировки последнее выражение будет лишить все ведущие нули, так что вы будете иметь ваши оригинальные номера спина.

Если вам нужны более длинные числа, просто добавьте больше нулей к первой замене и увеличьте 10 во второй замене соответственно. Если вы собираетесь делать это чаще, вы можете записать макрос с помощью этих шагов.

Я только что попробовал на 6.6.9, и это немного неудобно (не забудьте нажать кнопку Добавить в диалоговом окне), но работает отлично.

выберите все и скопируйте текст в Excel или другую электронную таблицу, используйте пользовательскую сортировку. Каждая строка должна вставить в одну ячейку, А1, В1 и т. д. Просто нужно установить поле как цифру, а не текст. Это делается путем установки формата ячейки или с помощью функции TEXT. Вставьте обратно в notepad++.

в более сложном случае, когда OP имеет текст, смешанный с числами (например, "1 Первая строка", "12 Двенадцатая строка"), мы можем создать столбец сортировки для организации списка. В виду того что космос после номера, мы можно найти это пространство, чтобы создать столбец только с числами, используя =LEFT (A1,FIND (" ", A1,1)). После распространения функции на весь столбец мы можем отсортировать оба столбца на основе порядка сортировки столбцов (т. е. числового порядка), а затем скопировать первый столбец обратно в правильном порядке. Точная формула для копирования номера строки будет зависеть от формата строки, но приведенная выше команда должна работать с незначительными изменениями в большинстве случаев, в противном случае Stack exchange имеет дополнительные примеры подобных рецептурный.


установка плагина TextFX

Мы можем воспользоваться тем, что спец символы ставятся выше при сортировке, чем другие символы.
Можно попробовать решить эту задачу с помощью плагина TextFX . Для начала его нужно установить из менеджера плагинов: Plugins -> Plugins Admin.

Добавляем нумерацию строк

Шаг первый Добавляем порядковый номер в начале, чтобы сохранить оригинальный порядок строк, если будут строки одинаковой длинны.
Ставим курсор в самое начало и жмём Edit -> Column Editor. (Комбинация клавиш Alt + C ) Указываем Start = 1 Increase by = 1 и обязательно указываем Include Leading Zeros

добавляем отсутпы спецсимволов

Шаг второй Делаем отступ в виде спец символов
Нужно добавить спец символы в начало строки. Их количество должно быть равно разнице между самой длинной и самой короткой строкой. Если есть строка 3 символа и строка 59 сиволов, то нужно добавить 56 спец символов. Жмём Edit -> Column Editor. (Комбинация клавиш Alt + C )

Шаг третий Обрезаем строки до одинаковой длинны
Пользуемся регулярным выражением:

для того, чтобы обрезать строки до одинаковой длинны. Выделяем самую короткую строку и запоминаем её длинну. Переходим в Find/Replace (Комбинация клавиш Ctrl + H ) и в Find what: указываем

введите сюда описание изображения

Где вместо 26 - длинна вашей строки. В Replace with. указываем $1 .

сортируем получившиеся строки

Шаг четвёртый Сортируем строки
Выделяем весь текст (Комбинация клавиш Ctrl + A ) Идём в TextFx -> TextFx Tools -> Sort lines case sensitive (at column) Если хотите отсортировать от самой длинной к самой короткой отметьте Text FX -> TextFX Tools -> + Sort ascendin

Шаг пятый Удаляем ненужные спец символы
Используем ещё одно регулярное выражение:

Переходим в Find/Replace (Комбинация клавиш Ctrl + H ) и в Find what: вставляем следующее

результат сортировки

где вместо числа два нужно указать количество цифр в номере строки (в моём примере у меня двухзначная нумерация строк, значит я указываю 2).

Как в Notepad ++ отсортировать строки в числовом порядке?

Как мне отсортировать строки в числовом порядке, а не в буквенно-цифровом?

То есть я хочу, чтобы строки были такими:

Теперь этого легко добиться (по крайней мере, в Notepad ++ 7.5.9):

Воспользуйтесь пунктом меню: Edit -> Line Operations -> Sort Lines As Integers Ascending

(Обратите внимание, что если вы не выделите текст, он отсортирует весь файл, а если вы выделите текст, он ограничит сортировку выделенным текстом.)

Я не знаю, как выглядит ваш файл, но я бы использовал регулярные выражения для добавления пробелов или нулей перед каждым числом, чтобы сделать их одинаковой длины (например, 2 становится 002). Затем они будут отсортированы правильно, и вы сможете использовать другую замену, чтобы впоследствии удалить начальные пробелы / нули.

Это шаги (работает для числа до 10 символов)

Найти: ^ Заменить: 0000000000

Найти: ^0* Заменить:

Он работает, добавляя 10 нулей перед числом, хотя, вероятно, это слишком много. Вторая замена берет последние 10 цифр номера, чтобы вернуть все к той же длине, давая вам такие числа, как 0000000839, 0000000003 и т. Д. Они будут отсортированы в том порядке, в котором вы хотите их отсортировать. После сортировки последнее выражение удалит все ведущие нули, так что вы получите исходные числа обратно.

Если вам нужны более длинные числа, просто добавьте больше нулей к первой замене и соответственно увеличьте 10 во второй замене. Если вы собираетесь делать это чаще, вы можете записать макрос, выполнив следующие действия.

  • 1 Это больно. Более простое использование sort из UnxUpdates.zip sort -n in.txt>out.txt
  • Средство меховые такие простые вещи должно быть сделано за один прием. Если нужно больше шагов, лучше использовать другой инструмент.
  • Я согласен с вами обоими, но вопрос был конкретно о блокноте ++. И запись его в макрос снова сделает его единичным шагом.
  • Так где же актуальный ответ с шагами? Я хотел бы увидеть это, потому что я не уверен, как я могу сделать регулярное выражение зависимым от строки длины.
  • Я добавил шаги, лично я бы использовал sort -n но если это часть обычного рабочего процесса, возможно, имеет смысл создать макрос для этого, чтобы вам не приходилось выходить из Notepad ++
  • Я видел это; в конечном итоге я могу попробовать, хотя предпочел бы использовать проверенное решение. Установка случайных dll, которые не имеют большого консенсуса, - не мой идеал
  • На самом деле оказывается, что я не думаю, что dll можно даже загрузить, я получаю 404
  • @User Смотрите мое обновление.

Выделите все и скопируйте как текст в Excel или другую программу для работы с электронными таблицами, используйте настраиваемую сортировку. Каждая строка должна вставляться как отдельная ячейка, A1, B1 и т. Д. Просто нужно установить поле как числовое, а не текстовое. Это делается путем установки формата ячейки или использования функции ТЕКСТ. Вставить обратно в блокнот ++.


Notepad++достаточно клевая программа для кодинга, и обработки текста. Данная запись является сборником часто используемых мною фишек при работе в данном редакторе.

Регуляторные выражения Notepad++

Важно! Поиск и замена производится в режиме поиска регулярных выражений:

Notepad++ - Полезные фишки

Иногда бывает нужно удалить ссылку но оставить TITLE, для таких целей в начале удаляем (для удаления оставьте поле для замены пустым) начало тега :

За тем в обычном режиме удаляем закрывающий тег

Удалить весь HTML оставив только текст без тегов:

В ссылочном списке такого вида ТАЙТЛ удалить все html-теги, оставив только ссылки:

Основные операции поиска и замены

Перенести все каждый тег на новую строку (в расширенном режиме)

Наборы выражений Notepad++

Горячие клавиши Notepad++

Ctrl+G — Поиск строки в Notepad++

Удаление пустых строк (пустых абзацев) в Notepad++:

Многие пользователи сталкиваются с проблемой форматирования текста если была произведена вставка текса из Microsoft Word в WordPress. Последние версии WP поддерживают адекватную вставку текста с соблюдением форматирования, но при вставке почему-то появляются пустые строки (абзацы), для удаления которых мы опять обратимся к нашему любимому редактору.

Откройте документ содержащий пустые строки

Notepad++ - Полезные фишки

Выделите все содержимое документа (для этого нажмите Ctrl+A)

Notepad++ - Полезные фишки

Выберите пункт «Правка» -> «Операции со строками» -> «Удалить пустые строки»

Notepad++ - Полезные фишки

Удаление пустых строк окончено:

Notepad++ - Полезные фишки

Теперь осталось только вставить полученный результат в в текстовый редактор WordPress.

Перемещение выделенного участка текста внутри документа

Выделите нужную часть документа курсором мышки, зажмите «Ctrl+Shift» и перемещайте выделенный текст внутри документа нажимая клавиши «Вверх» и «Вниз».

Читайте также: