2013-12-13 5 views
4

У меня есть список данных в текстовом формате, который выглядит следующим образомУдалить всю другую строку

Name1 Name2

location job date amount

Name1 Name2

location job date amount

Name1 Name2

location job date amount

мне нужно каким-то образом сделать это в

Name1 Name2 location job date amount

...

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

EDIT: добавление, что я попытался ниже:

К сожалению, я должен был включать код ... Я попытался

([^\n]*\n)[^\n]*\n 

в регулярных выражениях, но группирует две линии вместе, я в основном хотели бы захватить только новую линию между группами. Я также старался сделать это в excel систематически, но он не продолжает захватывать каждую другую ячейку, когда я перетаскиваю окно. Он меняет каждую ячейку в столбце на каждую ячейку, когда я пытаюсь ее выдавить.

+0

К сожалению, я должен был включить код ... Я попытался ([^ \ n] * \ n) [^ \ n] * \ n в regex, но это группирует две строки вместе, я в основном как захватить только новую линию между группами. Я также пытался сделать это в excel систематически, но он не продолжает захватывать каждую другую ячейку, когда я перетаскиваю окно. Он меняет каждую ячейку в столбце на каждую ячейку, когда я пытаюсь ее выдавить. – slantzjr

ответ

3

Использование .Net регулярок ароматизатора (должны быть одинаковыми для VBA, но я не проверял), я придумал следующее:

Pattern = "([^\n]*)(\n)([^\n]*(\n|\z))" 
Replacement = "$1$3" 

В основном, ловя первый символ NewLine во втором захвате и затем не возвращать его в нашу замену.

Надеюсь, это поможет.

+0

Это сработало красиво! Огромное спасибо! – slantzjr

+0

Рад, что это сработало !! :) –

Смежные вопросы