jac*_*all 4 string r strsplit stringr
假设我有一个字符串:
StringA/StringB/StringC
Run Code Online (Sandbox Code Playgroud)
有什么方法可以按/符号拆分该字符串,但将其保留在返回值中:
StringA
/StringB
/StringC
Run Code Online (Sandbox Code Playgroud)
是的,展望未来:(?=/)
library(stringr)
str_split(str, "(?=/)")
#[[1]]
#[1] "StringA" "/StringB" "/StringC"
Run Code Online (Sandbox Code Playgroud)
与分离功能同样有效tidyr:
tidyr::separate_rows(data.frame(str), str, sep = "(?=/)")
# str
#1 StringA
#2 /StringB
#3 /StringC
Run Code Online (Sandbox Code Playgroud)
使用基本 R 时strsplit,前瞻不太简单,但这效果很好:
unlist(strsplit(str, "(?<=.)(?=[/])", perl = TRUE))
#[1] "StringA" "/StringB" "/StringC"
Run Code Online (Sandbox Code Playgroud)
反之亦然:
unlist(strsplit(str, "(?<=/)", perl = TRUE))
#[1] "StringA/" "StringB/" "StringC"
Run Code Online (Sandbox Code Playgroud)