作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
B > C”,属于类别“A > B > D”-6ren">
我有一个由“;”分隔的类别列。即值:
value <- "A > B > C; A > B > D; A > B > C > C1"
意思是:
当前产品属于类别“A > B > C”,属于类别“A > B > D”和类别“A > B > C > C1”
如果一个类别已包含在另一个类别中,则应将其删除。所以目标是:
expectedResult <- "A > B > D; A > B > C > C1"
因为“A > B > C > C1”包含“A > B > C”。
我该如何解决这个问题?
注意:我知道有数百个问题看起来很相似。但我就是找不到解决方案。
最佳答案
这应该有效:
value <- "A > B > C; A > B > D; A > B > C > C1"
els <- strsplit( value, "; " )[[1]]
my_reducer <- function(a,b) {
v <- str_detect( b, fixed(a) )
a <- a[!v]
append(a,b)
}
paste( Reduce( my_reducer, els ), collapse="; " )
输出:
> Reduce( my_reducer, els )
[1] "A > B > D; A > B > C > C1"
关于r - 按分隔符拆分列并删除包含在其他值中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67381356/
我是一名优秀的程序员,十分优秀!