我有以下字符串表达式,对其应用strsplit:
x="Hello I am using stack overflow to ask this question."
y=strsplit(x,"a")
上面的函数在有“a”时将x分开。根据我的理解,返回的向量应该是一个列表,所以说我想获得x的第二个片段,我应该使用:
y[[2]]
但是,这给了我一个错误:
Error in y[[2]] : subscript out of bounds
我不确定该如何解决。我想要的只是访问字符串的破碎片段。
最佳答案
strsplit
确实返回一个列表。但是,list
只是单个元素列表。
length(strsplit(x,'a'))
#[1] 1
要访问单个元素列表的第二个
string
,strsplit(x,"a")[[1]][2]
#[1] "m using st"
假设,如果您有一个元素向量
a1 <- rep(x,3)
strsplit
返回一个列表,该列表的元素数等于a1
的长度 lst <- strsplit(a1,'a')
从
2nd
获取lst
拆分字符串 sapply(lst,`[`,2)
#[1] "m using st" "m using st" "m using st"
关于regex - 计算R中strsplit的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27597984/