希望大家都过得好!
我正在尝试从列中提取/清理数据。下面是一个单元格行的示例:
“母亲节套餐-200 ml/ 10罐1杯& 1片”
我需要做的是
将连字符(-)前的文本数据分开,只提取“母亲节包”
分隔连字号(-)和斜线(/)之间的数字数据,并只提取“200”
分隔斜线(/)后的前2位数字数据,只提取“10”
我的想法是复制相同的列x3,然后使用REGEXP_EXTRACT或REPLACE()。然而,我从来没有使用过它,所以我真的很感激你的帮助,建立3查询
谢谢
我尝试了这个REGEXP_EXTRACT(product_name,'. *?“但我只找到了200个,所以我在寻找剩下的。谢谢
1条答案
按热度按时间dgsult0t1#
假设目标文本
Mother Day Pack - 200ml / 10 Cans 1 glass & 1 crisp
位于A1中:=REGEXEXTRACT(A1, "(.*?) -")
--返回:Mother Day Pack
-
以下的所有内容=REGEXEXTRACT(A1, " -[^\d](\d+)")
--返回200
-
和任何非数字的内容,并捕获其后的所有数字=REGEXEXTRACT(A1, " /[^\d](\d+)")
--返回10
/
和任何非数字的内容,并捕获其后的所有数字这是Google Spreadsheet特有的。
编辑2023-06-23
以下是Google Data Studio的具体示例:
REGEXEXTRACT(DIMENSION, '(.*?) -')
--返回:Mother Day Pack
REGEXEXTRACT(DIMENSION, '-[^\\d](\\d+)')
--返回200
并捕获其后的所有数字REGEXEXTRACT(DIMENSION, ' /[^\\d](\\d+)')
--返回10
***了解更多正则表达式:***https://twiki.org/cgi-bin/view/Codev/TWikiPresentation2018x10x14Regex