str_split
的文档中说明,对于模式参数:
这表明在这方面它与如果为空字符串,则拆分为单个字符。
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" ""
这个差异是一个bug、特性、文档错误还是仅仅是对“预期行为”的不同理解?
和c
和
。然而,并非所有程序员都以相同的方式进行解释。 - MC Emperor