Вот базовый однострочный R, использующий strsplit
sapply(strsplit(ss, "(\\s{2,}|(?<=[AP]M)(?=\\w))", perl = T), function(x) x[x != ""]) # [,1]
#[1,] "Apr 15, 2019"
#[2,] "12:00 PM – 3:00 PM"
#[3,] "WMC 2502, Burnaby"
Трудно сказать, насколько хорошо это обобщается из-за очень малой строки выборки.
Объяснение: Мыsplit ss
на или отрезок, по крайней мере, 2 пробела "\\s{2,}"
(это позволяет избежать расщепления на одном пробеле), или в позиции, которой предшествует "[AP]M"
черезположительный прогноз и сопровождаемый символом слова (то есть не пробел) через позитивный прогноз "(?<=[AP]M)(?=\\w)"
.
Пример данных
ss <- "\n Apr 15, 2019\n 12:00 PM – 3:00 PMWMC 2502, Burnaby\n "