如何从 r 中方括号内的列中删除子集

how to remove a subset from a column within square brackets in r

我有一列在方括号中有多个字符串,像这样 [asdf] [ffgg][ asdf asdf asdf] sdfsgsfbsfg 我必须提取 [asdf asdf asdf] 它可能只有一个字符串,如 [asdf] 或两个.请帮忙

我们可以使用str_extract

library(stringr)
str_extract(str1, "\[(\w+\s+){2,}\w+\]")    
#[1] "[asdf asdf asdf]"

或者可能是

str_extract(str1, "\[(\w+\s+)\1+[^]]+\]")
#[1] "[asdf asdf asdf]"

数据

str1 <- "[asdf] [ffgg][asdf asdf asdf] sdfsgsfbsfg"