김용석*_*김용석 7 r strsplit stringr
当我stringr::str_split通过“\n”“\n\na\n”时,我得到了c("", "", "a", "").
c("a", "", "", "b")我期望当我stringr::str_split通过“\n”“a\n\nb”时可以获得,但我c("a", "", "b")却获得了。如何c("a", "", "", "b")通过拆分“a\n\n\a”来获得?
尝试:
stringr::str_split("a\n\nb", "\n")
Run Code Online (Sandbox Code Playgroud)
预计:
c("a", "", "", "b")
Run Code Online (Sandbox Code Playgroud)
结果:
c("a", "", "b")
Run Code Online (Sandbox Code Playgroud)
假设我们要单独提取每个字符,只需在空白处进行拆分并删除所有\n以返回拆分元素的空白
str_remove_all(strsplit(str1, "")[[1]], "\n")
[1] "a" "" "" "b"
Run Code Online (Sandbox Code Playgroud)
或者perl = TRUE与使用\n?
strsplit(str1, "\n?", perl = TRUE)[[1]]
[1] "a" "" "" "b"
Run Code Online (Sandbox Code Playgroud)
如果它应该\n只在每个
strsplit(str_replace(str1, "(\n\\S)", "\n\\1"), "\n")[[1]]
[1] "a" "" "" "b"
Run Code Online (Sandbox Code Playgroud)
str1 <- "a\n\nb"
Run Code Online (Sandbox Code Playgroud)