在R中拆分字符串并分配给列表

时间:2014-08-29 15:49:58

标签: r

我想分割一个字符串,然后将其传递给一个列表。

例如:

string <- "hi hello"

拆分并放入名为l的列表后,l[1]应该给我hi,而l[2]应该给我hello

很难搜索早期的问题,但找不到这个。

5 个答案:

答案 0 :(得分:1)

在这里,你有

> l <- strsplit(string, " ")[[1]]
[1] "hi"    "hello"
> l[1]
[1] "hi"
> l[2]
[1] "hello"

答案 1 :(得分:1)

这是另一种选择。而不是split ting,匹配你想要的东西。

> x <- 'hi hello'
> l <- regmatches(x, gregexpr('\\S+', x))[[1]]
> l[1]
## [1] "hi"
> l[2]
## [1] "hello"

答案 2 :(得分:0)

将分隔的字符串放入单独的列表中。

string <- "hi hello"
l <- lapply(unlist(strsplit(string, split= " ")), FUN = function(x) x)

[[1]]
[1] "hi"

[[2]]
[1] "hello"

答案 3 :(得分:0)

哦,到底是什么......

采取完全不同的方法,因为你在空格上分裂,你也可以轻松使用scan

l <- scan(what = "", text = string)
# Read 2 items
l[1]
# [1] "hi"
l[2]
# [1] "hello"

请注意,如果这是你想要的,那么你的术语是关闭的。在R中,这是vector。如果您想要list,请scan包裹as.list

答案 4 :(得分:0)

尝试:

l = unlist(strsplit(string, ' '))

l[1]
[1] "hi"

l[2]
[1] "hello"