У меня есть список из 24000 записей. Некоторые строки не все, имеют строку, содержащую | в них:

680311  Kraszna Kraszna Crasna|Krasna|Kraszna   48.15   22.33333    H   STM HU  00  0   108 Europe/Budapest 2014-07-08
713845  Zsombékosdűlő   Zsombekosdulo   Zsombekos|Zsombékos 47.2    20.01667    P   PPLX    HU  HU  16  0   88  Europe/Budapest 2007-08-27
713828  Zvaradűlő   Zvaradulo   46.85   20.78333    P   PPL HU  03  0   81  Europe/Budapest 2007-08-27
672629  Maros   Maros   Marisus|Mures|Muresh|Muresul|Mureş|Mureşul|mwrysh   46.25   20.2    H   STM HU  HU|RO   00  0   81  Europe/Budapest 2009-04-06
677528  Gémesi Révház   Gemesi Revhaz   46.33472    18.89167    P   PPL HU  00  0   102 Europe/Budapest 2014-07-08
680145  Fekete-Körös    Fekete-Koros    Black Koros|Black Körös|Crisu Negru|Crisul Negru|Crişu Negru|Crişul Negru|Fekete-Koros|Fekete-Körös|Raul Crisu Negru|Râul Crişu Negru   46.7    21.26667    H   STM HU  00  0   88  Europe/Budapest 2012-01-18

Третья и пятая строка - это то, что я хотел бы иметь для всех строк, поэтому я хотел бы полностью удалить строки, которые имеют | в них.

Итак, из этой строки:

680311  Kraszna Kraszna Crasna|Krasna|Kraszna   48.15   22.33333    H   STM HU  00  0   108 Europe/Budapest 2014-07-08

мы бы получили:

680311  Kraszna Kraszna 48.15   22.33333    H   STM HU  00  0   108 Europe/Budapest 2014-07-08

РЕДАКТИРОВАТЬ:

В данных есть пробелы, как в пятом ряду с «Gémesi Révház», которые должны остаться, также есть пробелы в строках, которые необходимо удалить, как в шестом ряду «Черный Корос | Черный Корёс | Крису Негру ...», который должен уйти вместе со струнами.

Я искал руководства и решения для регулярных выражений, но я не смог найти ни одного для такого рода проблемы.

Можно ли это сделать с помощью notepad++ или notepad++ и regex?

РЕДАКТИРОВАТЬ 2:

Новый вопрос создан, поскольку область видимости изменена для извлечения одной строки и двух чисел: Notepad++ и regex: извлечение строки и двух чисел из списка строк

Оставим этот вопрос как есть, обсуждение может быть полезным.

1 ответ1

0

Ctrl+H тогда

Найти с помощью: [ \t]+[^ ]+\|[^ ]+[ \t]+
Заменить:
(В "Заменить" используйте один пробел и не забудьте переключиться на "регулярное выражение")

PS

Хорошо, что понял, что мне нужен только второй столбец, название города и координаты местоположения, которые являются первыми двумя числами, начинающимися либо с 4-го, либо с 5-го столбца. Я откажусь от остальных данных.

Тогда было бы намного проще:

Найти с помощью: ^\d+\s+([^ ]+)[^0-9]+\s+([0-9\.]+)\s+([0-9\.]+).+$
Заменить на: \1 \2 \3

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