对于提供给参数“ split”的字符向量的所有元素,strsplit不会拆分

时间:2018-11-05 16:44:07

标签: r

strsplit函数的R文档指出参数split “如果拆分的长度大于1,则将其沿x循环。”

我的意思是如果我使用以下代码

strsplit(x = "Whatever will be will be", split = c("ever", "be"))

...,我将x分为“ What”,“ will”和“ will be”。这不会发生。输出是“什么”和“将是”。

我误解了文档吗?另外,如何获得所需的结果?

2 个答案:

答案 0 :(得分:2)

如果x也有多个参数,则将拆分split中的参数:

strsplit(x = c("Whatever will be will be","Whatever will be will be"), 
         split = c("ever", "be"))
[[1]]
[1] "What"             " will be will be"

[[2]]
[1] "Whatever will " " will " 

我怀疑您期望的行为是通过|实现的:

strsplit(x = "Whatever will be will be", split = c("ever|be"))
[[1]]
[1] "What"   " will " " will "

答案 1 :(得分:1)

split在x的元素中回收,因此split的第一个元素应用于x的第一个元素,第二个应用于第二个,依此类推。例如:

strsplit(x = c("Whatever will be will be", "Whatever will be will be"), split = c("ever", "be"))
[[1]]
[1] "What"             " will be will be"

[[2]]
[1] "Whatever will " " will "