在stringr包str_split
文档状态的模式参数:不一致的行为strsplit
如果“”分裂成单个字符。
这表明它在这方面的行为与strsplit
相同。然而,
library(stringr)
str_split("abcab","")
[[1]]
[1] "" "a" "b" "c" "a" "b"
与领先的空字符串。与此相比,
strsplit("abcab","")
[[1]]
[1] "a" "b" "c" "a" "b"
领先的空字符串似乎是在非空字符串分割时的正常行为,
strsplit("abcab","ab")
[[1]]
[1] "" "c"
但即使是这样,str_split
产生“额外”尾随空字符串:
str_split("abcab","ab")
[[1]]
[1] "" "c" ""
这种差异是文档中的错误,功能,错误还是只是“预期行为”的不同概念?
或许会更好地向开发人员提交错误报告,而不是在stackoverflow上询问... – hadley
对不起@hadley,我基本上从来没有想到我找到了一个错误。我的自尊心很低。 – joran
这可能不是一个错误,而是根据给定分隔符*分割字符串的不同解释。 (关于'预期行为'的不同概念) 如果你用分隔符** ab **分割字符串** abcab **,那么我希望结果是''和'c', '。但是,并不是所有的程序员都以同样的方式解释这一点。 –