在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"