首页 > 解决方案 > 如何使用 REGEX 提取字符串的一部分并将其添加到另一列然后分组?

问题描述

我之前在谷歌表格中使用过正则表达式来添加另一列,例如:

PROP BAKERY (47) / PROPRIETARY BAKERY (60) / RESALE BREAD (950)

为达到这个:

PROP BAKERY (47)

使用:

REGEXEXTRACT([range],"[^.*/]+"

如何在 mySQL 中执行此操作,以便我可以: 使用提取的文本创建另一列?

任何帮助将不胜感激,谢谢。

更新:我忘了提到文本可以是可变的,因此为什么在谷歌表格中需要正则表达式。以下是一些其他示例:

道具烘焙 (47) / 专有烘焙 (60) / 转售面包 (950) 杂货 (5) / 清洁剂 (52) / 洗碗剂 (208) 生产 (30) / 生产 - 蔬菜 (101) / 有机蔬菜 (1043)

标签: mysql

解决方案


在这里使用SUBSTRING_INDEX

SELECT SUBSTRING_INDEX(col, ' / ', 1)
FROM yourTable;

演示

您还可以使用正则表达式替换方法,并删除模式\s*/.*$

SELECT REGEXP_REPLACE(col, '\\s*/.*$', '')
FROM yourTable;

推荐阅读