Как правильно извлечь информацию из строки - PullRequest
0 голосов
/ 23 июня 2019

У меня есть строки, которые могут выглядеть примерно так: NE=GPE_6079|Morph=gsn|TopoField=MF, NE=ORG_6078a|Morph=gsf|TopoField=MF, Corr=Hapag|NE=ORG_288-ORG_288a|Morph=dsf|TopoField=MF.

Меня интересует только первое число после NE=ORG_. Например. для третьей строки я хочу 288. NE= может быть где угодно в строке, ограниченной |.

Моя первая попытка выглядит примерно так:

tag = tag.split("|")[determine_position(tag)].split("=")[1].split("_")[1]

Я извлекаю фактический тег из последовательности тегов. Так что за Corr=Hapag|NE=ORG_288-ORG_288a|Morph=dsf|TopoField=MF я получаю 288-ORG_288a. Это работает нормально, проблема в том, что теперь я должен обработать этот тег. Если я теперь разделю - и возьму число с помощью индексации, это сработает. Но мой файл содержит 500 тыс. Строк, и я уверен, что если я продолжу так, мне придется взглянуть на множество разных случаев.

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

Но это совсем не гладко, должен быть легкий путь. Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...