Я хочу очистить тезисы от pubmed.gov и создать разрывы строк / абзацы между каждым разделом, чтобы не все было сжато. Разделы, как правило, пишутся заглавными буквами и заканчиваются двоеточием. Пример: ВВЕДЕНИЕ: или РЕЗЮМЕ: или МЕТОДЫ.
Я хочу проанализировать каждый раздел и создать 2 разрывов строк между каждым разделом.
Что я получаю сейчас: ВВЕДЕНИЕ: бла-бла-бла. Методы: мы провели эксперимент, чтобы сделать X. ВЫВОД: Это потрясающий эксперимент.
Желаемый вывод:
ВВЕДЕНИЕ: бла-бла-бла.
МЕТОДЫ: Мы провели эксперимент, чтобы сделать X.
ЗАКЛЮЧЕНИЕ: Это потрясающий эксперимент.
ВАЖНОЕ ПРИМЕЧАНИЕ: заголовки не всегда будут одинаковыми, но всегда будут все заглавные буквы, за которыми следует двоеточие. Так что я думаю, мне нужно выяснить, как использовать регулярные выражения, чтобы найти слово с заглавными буквами и двойным двоеточием и создать 2 переноса строк.
import pandas as pd
import requests
import re
from bs4 import BeautifulSoup
from urllib.request import urlopen
import datetime
import csv
import time
listofa_urls = ['https://www.ncbi.nlm.nih.gov/pubmed/30470520',
'https://www.ncbi.nlm.nih.gov/pubmed/31063262','https://www.ncbi.nlm.nih.gov/pubmed/31067303']
for l in listofa_urls:
response = requests.get(l)
soup = BeautifulSoup(response.content, 'html.parser')
x = soup.find(class_='abstr').get_text()
#print(x.encode("utf-8"))
x = re.sub(r"\babstract(.*?)", r"\1", x, flags=re.I)
print(x.encode("utf-8"))
print()