其次:
考虑订单ID 4:在这里我不能用逗号分隔项目,因为第一个产品项目在工作中结束,并且在一个产品项目说明中有逗号
我之前使用了以下代码
data.frame(tran_pay4) %>%
mutate(product_name = str_extract_all(product_name, "((?!\s)[^,]+)(?!.*\1)"))
这可以解决大多数购物车问题,但不能解决case::order_id=5的问题
目标是保留单个产品项目。
输出应如下所示:
Order_id PRODUCT_NAME 1 普通-高附着力有机硅底漆-30ml,普通-天然保湿因子+HA 30ml 2 Sandal,Brown-44 3 醋酸正方形-黑色-过渡-太阳镜,卡地亚-8221-边缘少绿双色太阳镜,雷朋-飞行员-棕色双色-3026-钻石坚硬镜片,Burberry-2A357-哈瓦那-飞行员-太阳镜 4 NasGas即时喷泉DG6L 5 Mpow Flame Solo蓝牙耳塞劲爆低音IPX7防水耳机无线耳机蓝牙耳机USB-CFAST充电BT5.028H Playtime内置麦克风用于健身请让我知道如何进行这项工作?
您不需要正则表达式。您只需使用strsplit
和unique
来查找唯一项目。
tran_pay4$newproduct = sapply(strsplit(tran_pay4$product_name, ", "),
function(x) paste(unique(x), collapse = ", "))