Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Notepad++ удаление повторяющихся строк которые я выделил

Antonio Fagustus Ученик (97), открыт 4 дня назад
В интернете много постов на тему как удалить повторяющиеся строки в notepad++. Но я не нашёл ответа как это сделать тока с теми строками, которые я выделил. Может кто подсказать как это сделать?
Дополнен 3 дня назад
В общем сданной проблемой мне никто не смог помочь, пришлось всё делать руками.
Тему закрываю!
4 ответа
Black Гуру (4159) 4 дня назад
В Notepad++ нет встроенной функции для удаления повторяющихся строк только в выделенной области. Однако, можно использовать сценарий на языке PythonScript или плагин для выполнения этой задачи.

Вот один из вариантов через плагин PythonScript:

1. Установите плагин PythonScript через Plugins > Plugin Admin.
2. После установки выберите Plugins > PythonScript > Show Console.
3. В открывшейся консоли вставьте следующий код:

editor = notepad.getCurrentEditor()

start = editor.getSelectionStart()
end = editor.getSelectionEnd()

text = editor.getTextRange(start, end)
lines = text.splitlines()

unique_lines = []
[unique_lines.append(line) for line in lines if line not in unique_lines]

editor.replaceSelection("\n".join(unique_lines))
4. Этот код удалит все повторяющиеся строки в выделенной области.

Если вам не подходит использование скриптов, попробуйте вручную скопировать выделенный текст в новый документ, удалить там дубликаты (например, через TextFX плагин), а затем вернуть текст обратно.
Antonio FagustusУченик (97) 4 дня назад
Проблема в том что в одном файле много дублирующих строк, но я хочу удалить тока конкретные.
BlackГуру (4159) 4 дня назад
Этот способ удаляет дублирующиеся строки только в выделенной области. Если у вас нет возможности или желания использовать плагин, можно временно скопировать выделенные строки в новый файл, удалить дубликаты в этом файле, а затем скопировать результат обратно в оригинал.
del Мудрец (19816) 4 дня назад
Лично мне хватает Ctrl + H и знания механизма регулярных выражений.
т.е. Открываешь окно замены, ставишь галочку регулярных выражений, и просто через знак или - "|" перечисляешь все строки которые нужно заменить на пустое место.

Но также есть возможность использования макросов, скриптов, расширений.
Antonio FagustusУченик (97) 4 дня назад
А как строки указывать, через запятую?
del Мудрец (19816) Antonio Fagustus, через знак или - "|"
Antonio FagustusУченик (97) 4 дня назад
И можно ли указать строки, если они друг за другом, например: 900-1000?
del Мудрец (19816) Antonio Fagustus, что стоит попробовать? В целом регулярные выражения полволяют использовать очень сложную логику или алгоритм поиска нужного текста.
Молодой Антип Мастер (1188) 3 дня назад
Если ты их выделил как закладки, то можно ПКМ кликнуть по значку закладки и в контекстном меню выбрать удаление всех помеченных строк.
Antonio FagustusУченик (97) 3 дня назад
Выбираю кусок текста 50 примерно и выбираю "Пометить все совпадения" и ничего не происходит. Хотя я точно знаю, что в этом файле есть несколько блоков текста с таким же наименованием.
Antonio FagustusУченик (97) 3 дня назад
50 строк
Antonio FagustusУченик (97) 3 дня назад
Так как они все вместе не выделяются, я руками нашёл каждый кусок что мне нужен был и пометил в закладки. Не не нашёл где в контекстном меню удалить все закладки.
Граф Таранов Мастер (1597) 3 дня назад
В меню Операций со строками (Line Operation) есть пункт удаления дубликатов строк. И ничего помечать не надо.
Antonio FagustusУченик (97) 3 дня назад
Где-то меню "Операций" я просто не нашёл?
Граф ТарановМастер (1597) 3 дня назад
Antonio Fagustus Ученик (97) Граф Таранов, ничего не происходит
Граф ТарановМастер (1597) 3 дня назад
Значит это не дубли.
Antonio Fagustus Ученик (97) Граф Таранов, Быть может там стоит лишний пробел (или наоборот) Но всё же дубли.
Похожие вопросы