在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', '。但是,並不是所有的程序員都以同樣的方式解釋這一點。 –