У меня есть txt-файл, содержащий транскрипции выступлений в Конгрессе 19 века. Это широкий формат:
Mr. JOHNSON. Researching congress is neat!
Mr. JACKSON. For sure. Sometimes I think
that I would do it for a living.
Mr. SMITH, of Virginia. But then I realize
it's actually pretty hard!
Я хочу создать фрейм данных, который разделяет фрагменты, сказанные каждым выступающим. Что-то вроде:
SPEAKER STATEMENT
Mr. JOHNSON Researching ...
Mr. Jackson For sure. ...
Mr. Smith, of Virginia But then...
Я придумал регулярное выражение, которое может идентифицировать каждый экземпляр г-на [что-то] или г-на [что-то, в каком-то месте] (речи относятся к тому времени, когда они ' ре к сожалению все г). Это:
pattern <- regex("((Mr\\.\\s[A-Z][A-Za-z1-9]+)(\\,\\sof\\s[A-Za-z1-9]+\\.|\\.)|(The\\sCHAIRMAN))", dotall = TRUE)
str_extract_all(data, pattern)
Это возвращает
[1] Mr. JOHNSON.
[2] Mr. JACKSON.
[3] Mr. SMITH, of Virginia.
Моя проблема теперь: как мне извлечь текст между каждым из этих извлеченных имен? Я пробовал следующее, но это не сработало:
library(qdapRegex)
ex_between(data, pattern, pattern)[[1]]
Есть идеи? Большое спасибо!