从引用字符串的字符串中提取未加引号的字符串的向量

时间:2018-01-10 11:39:14

标签: r regex string

我有一个表格的字符串:

str<-"    'A'    'B'    'csdsdf3' 'csdsdf3' "

我正在寻找最简单的函数u<-extract(str),它提供了

u=c("A","B","csdsdf3", "csdsdf3")

我已经尝试了strsplit,但它没有给出所需的结果。我相对很少使用R而且我被众多的功能所淹没。很可能正则表达式可能有助于提取引号内的字符串,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:5)

为什么不使用scan

scan(what = "", text = str)
# Read 4 items
# [1] "A"       "B"       "csdsdf3" "csdsdf3"

答案 1 :(得分:2)

我们可以使用str_extract来匹配非'或空格

的字符
library(stringr)
u1 <- str_extract_all(str, "[^' ]+")[[1]]
identical(u, u1)
#[1] TRUE

如果我们使用strsplit,请在'和空格

上拆分
u2 <- strsplit(str, "[' ]")[[1]]
u2[nzchar(u2)]