Как только получить ссылку, используя R - PullRequest
0 голосов
/ 31 мая 2018
<item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="itemWithRetweets" link="http://twitter.com/MEDClementz/statuses/1001775473305817090" id="1001775473305817090">

Как получить только ссылку и идентификатор из вышеприведенного ^

желаемый вывод:

       link                                                         
[1] http://twitter.com/MEDClementz/statuses/1001775473305817090    
           id
[1] 1001775473305817090

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Здесь можно использовать пакет stringr.

library(stringr)

# Create the example string
string <- '<item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="itemWithRetweets" link="http://twitter.com/MEDClementz/statuses/1001775473305817090" id="1001775473305817090">'

# Split the string
string2 <- str_split(string, pattern = " ")[[1]]

# Get the link
link <- str_subset(string2, "link")
link2 <- str_extract(link, "http://.*[0-9]+")
link2
# [1] "http://twitter.com/MEDClementz/statuses/1001775473305817090"

# Get the id
id <- str_subset(string2, "id")
id2 <- str_extract(id, "[0-9]+")
id2
# [1] "1001775473305817090"
0 голосов
/ 31 мая 2018

Лучше использовать синтаксический анализатор xml вместо регулярного выражения

library(xml2)
x <- read_xml('<item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="itemWithRetweets" link="http://twitter.com/MEDClementz/statuses/1001775473305817090" id="1001775473305817090"></item>')

xml_attr(x,"link")
xml_attr(x,"id")

result:

> xml_attr(x,"link")
[1] "http://twitter.com/MEDClementz/statuses/1001775473305817090"
> xml_attr(x,"id")
[1] "1001775473305817090"
...