2

У меня есть два списка слов, по одному в строке, каждый список в отдельном файле, и мне нужно сделать две вещи:

  1. Объедините два списка, но исключая дубликаты.
  2. Удалите все слова длиной менее 5 символов.

Например: Первый список:

apple
banana
orange

Второй список:

apricot
avocado
lime

Объединенный список:

apple
banana
orange
apricot
avocado

Как сделать это с помощью Notepad++?

1 ответ1

5

Слияние:

Самый простой способ объединить два файла - это скопировать и вставить. Notepad++ не имеет встроенной функции слияния файлов.

Вы можете, однако, установить плагин для этого. См. Объединение файлов в Notepad++.

Другим решением будет copy командной строки. См. Нужно объединить много файлов в каталоге

Замена разрывов строк:

Удаление дубликатов будет сложнее, чем удаление коротких слов, поскольку поиск в Notepad++ не выполняет поиск по нескольким строкам одновременно, поэтому нам придется преобразовывать разрывы строк во что-то другое.

Чтобы добиться этого, вы можете выполнить расширенную замену, найдя все \r\n (разрыв строки DOS) и заменив их на # (или любой другой символ, которого нет в вашем списке).

Если последняя строка не была пустой, добавьте # к концу полученной строки.

Удаление дубликатов:

Теперь выполните замену регулярного выражения, найдя все ([^#]+)#(.*#)\1# и заменив их на \1#\2 .

Если в одном файле были дубликаты, возможно, вам придется делать это более одного раза.

Удаление слов из 4 или менее символов:

Это легко. Просто выполните замену регулярного выражения, найдя все #.?.?.?.?# и заменяя их на # .

Разрывы строк:

Теперь вы можете избавиться от взлома разрыва строки. Просто выполните расширенную замену, найдя все # и заменив их на \r\n .

Наконец, удалите последнюю строку, так как она будет пустой.

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