2015-03-03 1 views
0

Мне нужно разобрать кучу неформатированного текста, аналогичного приведенному ниже.Как использовать регулярный текст синтаксического разбора с символом «|»

те | DT | O считается | VBN | O анархисты | NNS | O при | IN | O лучшей | JJs | O доли | NN | O | ДТ | O некоторые | JJ | O семья | NN | O сходство | NN | O | | O «| RQU | O

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

ДТ I -MISC

определенные JJ O

в IN O

ДТ B

фунт NN I

+0

Что именно формат вы ищете? Какое разграничение вы пытаетесь использовать? Разделять пробелами, «|», по .... и т. Д.? –

+0

отдельно пробелом – Anoonymonus

+1

, тогда регулярное выражение полностью переборщило. Просто используйте метод «split», и все готово. Вы уверены, что вы также не пытаетесь захватить «|» ... похоже, что это так? –

ответ

4
with open('outfile.txt', 'wb') as outfile, open('infile.txt', 'r') as infile: 
    [outfile.write(i.replace('|', ' ') + '\n') for i in infile.read().split()] 

Вы в основном просто хотите разделить пробелами, то замените | с правильными пробелами? Кажется, это то, что вы ищете.

EDIT: Код теперь записывается в файл.

EDIT 2: код Сейчас читает из файла

+0

Большое спасибо! – Anoonymonus

+0

Вы добро пожаловать. –

+0

Обновленный ответ. –

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