提取文本以R上的特定单词开头

时间:2019-01-28 22:11:25

标签: r text

我正在从字符串中提取文本。示例数据如下:

index <- c(1,2)
tag <- c('{"tags":["test_apple","test_orange","result_grape"]}',
'{"tags":["test_kiwi","test_pear","result_apple"]}')
sample <- data.frame(index,tag)  

我想创建一个新列,并且只从“标签”中提取带有“结果”的文本星号。结果应该像

result <- c('"result_grape"','"result_apple"')
sampleresult <- data.frame(index,result)

我尝试了tstrsplit,但是没有用。

tstrsplit(sampledata, "rep_")[[2]]

1 个答案:

答案 0 :(得分:0)

我建议stringr库:

library(stringr)
result <- str_extract(sample[,2],"result_[A-z]+")
sampleresult <- data.frame(index,result)

  index       result
1     1 result_grape
2     2 result_apple

如果要保留引号,请使用str_extract(sample[,2],"\"result_[A-z]+\"")