如何分割字符串“a b" 变成 c("a", "", "", "b")?

问题描述 投票:0回答:3

当我

stringr::str_split
” A “ 经过 ” “,我得到
c("", "", "a", "")

我期望当我

c("a", "", "", "b")
“a 乙“由” ”,但我却得到了
stringr::str_split
。如何通过拆分“a 来获得
c("a", "", "b")
” “?
尝试:

c("a", "", "", "b")

期望:

stringr::str_split("a\n\nb", "\n")

结果:

c("a", "", "", "b")


r stringr strsplit
3个回答
2
投票
c("a", "", "b")

即可返回拆分元素的空白

\n

或将 
str_remove_all(strsplit(str1, "")[[1]], "\n") [1] "a" "" "" "b"

perl = TRUE
 一起使用
\n?

如果应该只在每个
strsplit(str1, "\n?", perl = TRUE)[[1]] [1] "a" "" "" "b"

\n

数据

strsplit(str_replace(str1, "(\n\\S)", "\n\\1"), "\n")[[1]] [1] "a" "" "" "b"



1
投票

str1 <- "a\n\nb"



0
投票

x1 <- "a\n\nb" x2 <- "abc\n\ndef" strsplit(gsub("(\n{2,})", "\\1\n", x1), "\n")[[1]] [1] "a" "" "" "b" strsplit(gsub("(\n{2,})", "\\1\n", x2), "\n")[[1]] [1] "abc" "" "" "def"

© www.soinside.com 2019 - 2024. All rights reserved.