У меня есть новости от R, например:
> View(mydf$title)
<name of the news> <dash> <source name>
Матч КХЛ перенесен на 2 дня - Газета.Ru
Всероссийская универсиада 2010 - Interfax Russia
Звезда хоккея снялся в клипе популярного рэпера. ВИДЕО - Ura.ru
Трактор – Тролейбус 2:1 14.04.2011 – YouTube
Мне нужно разделить mydf$title
на заголовок новости и название источника (- Газета.ru, - Интерфакс Россия, - Ura.ru и др.)
Я пытаюсь это library(stringr)
:
mydf$sourse <- str_extract(mydf$title, '\\- [A-Za-zА-Яа-я0-9." ]{0,}$')
mydf$sourse <- str_extract(mydf$title, "\\-[:space:[:alpha:][:punct:][:space:]]{0,}$")
mydf$sourse <- str_extract(mydf$title, '\\-\\s[A-Za-zА-Яа-я0-9[:punct:]\\s]{0,}')
mydf$sourse <- str_extract(mydf$title, "\\s-\\s[\\w+\\s.]{0,}$")
mydf$sourse <- str_extract(mydf$title, "\\s-\\s[:alpha:][:print:]$")
Но не очень хорошо работает. Как оптимально разделить строку?
Спасибо за советы. Спасибо.
Примечание: mydf
- это data.frame:
> str(mydf)
'data.frame': 100 obs. of 6 variables:
$ title : Factor w/ 100 levels...
$ link : Factor w/ 100 levels...
$ guid.text : Factor w/ 100 levels...
$ guid..attrs: Factor w/ 1 level...
$ pubDate : Factor w/ 100 levels...
$ description: Factor w/ 100 levels...