Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从由符号分隔的R向量中的字符串中提取字符_R_Regex_String - Fatal编程技术网

从由符号分隔的R向量中的字符串中提取字符

从由符号分隔的R向量中的字符串中提取字符,r,regex,string,R,Regex,String,嗨,我有一个R中的字符串向量,用@分隔,我想提取用@分隔的单词..示例 tweets =c( " @john @tom it is wonderful ", "@neel it is awesome ", "it is awesome") 我只想要一个名称矩阵/data.frame,没有像这样的文本作为输出 X1=c("john","tom') X2 =c("neel",NA) , x3 = (NA,NA), data frame = as.data.frame(X1,X2,x3) 如何操

嗨,我有一个R中的字符串向量,用@分隔,我想提取用@分隔的单词..示例

tweets =c( " @john @tom it is wonderful ", "@neel it is awesome ", "it is awesome")
我只想要一个名称矩阵/data.frame,没有像这样的文本作为输出

X1=c("john","tom') 
X2 =c("neel",NA) , x3 = (NA,NA), data frame = as.data.frame(X1,X2,x3)

如何操作?

一个
基本R
选项是使用
gregexpr/regmatches
提取,然后将
NA
s填充到
列表中
长度为
的元素
lst <- regmatches(tweets, gregexpr("(?<=@)\\w+", tweets, perl = TRUE))
do.call(rbind, lapply(lst, `length<-`, max(lengths(lst))))
#     [,1]   [,2] 
#[1,] "john" "tom"
#[2,] "neel" NA   
#[3,] NA     NA