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

在R中拆分字符串并分配给列表,r,R,我想拆分一个字符串,然后将其传递给列表 例如: string <- "hi hello" string给你 > l <- strsplit(string, " ")[[1]] [1] "hi" "hello" > l[1] [1] "hi" > l[2] [1] "hello" >l[1] [1] “嗨” >l[2] [1] “你好” 将分隔的字符串放入单独的列表中 string <- "hi hello" l <- lapply(unlist

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

例如:

string <- "hi hello"
string给你

> l <- strsplit(string, " ")[[1]]
[1] "hi"    "hello"
> l[1]
[1] "hi"
> l[2]
[1] "hello"
>l[1]
[1] “嗨”
>l[2]
[1] “你好”

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

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

[[1]]
[1] "hi"

[[2]]
[1] "hello"
string哦,见鬼

要采取完全不同的方法,因为您是在空格上拆分的,所以您还可以轻松地使用
scan

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

l这里是另一个选项。与其拆分,不如匹配所需内容

> x <- 'hi hello'
> l <- regmatches(x, gregexpr('\\S+', x))[[1]]
> l[1]
## [1] "hi"
> l[2]
## [1] "hello"
>xl[1]
##[1]“你好”
>l[2]
##[1]“你好”
试试:


这一点必须在本网站上多次提及:
l嗯。。。为什么不干脆
as.list(unlist(strsplit(string,”)))
如果这是你认为他们想要的输出呢?@AnandaMahto,很公平,代码稍微短一点,但结果相同。Mind刚刚转到了
lappy
,但是
as.list
更简洁。谢谢大家的回答。什么是
[[1]]
最后一种方法?@AvinashRaj,
strsplit
是矢量化的,并返回一个与输入向量长度相同的
列表,其中包含拆分的项。由于这是一个被拆分的向量,要将其展平为一个向量,您可以使用
[[1]]
直接访问它。感谢您的解释……现在这些答案已经失控了……OP只需要一个对象l,该对象l为l[1]和l[2]提供适当的值。
l = unlist(strsplit(string, ' '))

l[1]
[1] "hi"

l[2]
[1] "hello"