如何从R中的长字符串中顺序检索短字符串列表?
这里有一个例子如何从R中的长字符串中顺序检索短字符串列表?,r,R,这里有一个例子 x<-"ABCDEFGH" x [1] "ABCDEFGH" 有没有一种简单的方法可以在R中找到它?这里有一个解决方案,您只需要指定希望从x中提取的字符数作为n变量 n<-4 sapply (1:(nchar(x)-(n-1)), function(i) substr(x,i,i+(n-1))) #"ABCD" "BCDE" "CDEF" "DEFG" "EFGH" n这里有一个解决方案,您只需要指定希望从x中提取的字符数作为n变量 n<-4 sapply
x<-"ABCDEFGH"
x
[1] "ABCDEFGH"
有没有一种简单的方法可以在R中找到它?这里有一个解决方案,您只需要指定希望从
x
中提取的字符数作为n
变量
n<-4
sapply (1:(nchar(x)-(n-1)), function(i) substr(x,i,i+(n-1)))
#"ABCD" "BCDE" "CDEF" "DEFG" "EFGH"
n这里有一个解决方案,您只需要指定希望从x
中提取的字符数作为n
变量
n<-4
sapply (1:(nchar(x)-(n-1)), function(i) substr(x,i,i+(n-1)))
#"ABCD" "BCDE" "CDEF" "DEFG" "EFGH"
n这里是另一种方法:
x<-"ABCDEFGH"
N <- 4
substring(x, seq(1, nchar(x)-N+1, 1), seq(N, nchar(x), 1))
[1] "ABCD" "BCDE" "CDEF" "DEFG" "EFGH"
x这里是另一种方法:
x<-"ABCDEFGH"
N <- 4
substring(x, seq(1, nchar(x)-N+1, 1), seq(N, nchar(x), 1))
[1] "ABCD" "BCDE" "CDEF" "DEFG" "EFGH"
x这使用了基本R,所以您不需要加载stringr.Ups,您是对的,我忘了删除那一行。已经编辑了文章。输出应该都有4个字符,但是你的输出大部分有5个字符。这使用了基本的R,所以你不需要加载stringr。Ups,你是对的,我忘了删除那一行。已编辑该帖子。输出应全部为4个字符,但您的输出大部分为5个字符子字符串(x,1:(nchar(x)-N+1),N:nchar(x))
。相同的算法,更简单的编码。但如果N>nchar(x)
,则失败。向上投票。子字符串(x,1:(nchar(x)-N+1,N:nchar(x))
。相同的算法,更简单的编码。但如果N>nchar(x)
,则失败。向上投票。