Проблема с разрывами строк и удалением пробелов - PullRequest
2 голосов
/ 27 марта 2020

У меня проблемы с предварительной обработкой данных METAR (наблюдения за погодой в аэропорту).

Все мои данные должны быть похожи на строку 76 ~ 80 (каждая дата данных в одной строке.), Но ненужные разрывы строки и пробелы делают эти данные совершенно бесполезными.

Например, данные в строке 82 следует размещать после R16 в строке 81. А данные в строке 84 следует размещать после Q1012 в строке 83.

Как можно решить эту проблему, не удаляя эти пробелы вручную?

Это начинается со строки 76:

201903301500 METAR RKSI 301500Z 32016KT 9999 OVC030 04/M02 Q1015 NOSIG=
201903301430 METAR RKSI 301430Z 31014KT 9999 BKN030 04/M01 Q1014 NOSIG=
201903301400 METAR RKSI 301400Z 30016KT 9999 BKN025 05/M01 Q1014 NOSIG=
201903301330 METAR RKSI 301330Z 30018KT 9999 BKN030 05/M01 Q1014 NOSIG=
201903301300 METAR RKSI 301300Z 29019KT 9999 BKN030 04/M01 Q1013 NOSIG=
201903301000 METAR RKSI 301000Z 29023KT 9999 BKN030 04/M02 Q1012 WS R16
                        R34 NOSIG=
201903300930 METAR RKSI 300930Z 28020KT 9999 SCT015 BKN030 04/M01 Q1012
                        WS R16 R34 NOSIG=

1 Ответ

1 голос
/ 27 марта 2020

Лучше всего использовать регулярные выражения, как показано на рисунке ниже enter image description here

Используемый шаблон: \s*\n\s+

\s* соответствует 0+ пробелов

\n соответствует символу новой строки

\s+ соответствует 1+ пробелам, поэтому он будет соответствовать символам новой строки, причем строки начинаются с пробелов вместо цифр.

Найденный текст может быть заменяется одним пробелом.

...