Google 工作表正则表达式在每个单元格中保留部分文本
Google Sheets regex keep part of text in each cell
我有一列单元格中包含以下文本:
Colors/Red;Foods/Apple;Category/Featured;
Foods/Banana;Category/Recent;Colors/Yellow;
Colors/Blue;Foods/Grapes;Category/New;
我只想保留每个单元格中的 Category/Something;
个文本组,并删除所有其他文本。
例如,我正在尝试获取以下内容:
Category/Featured;
Category/Recent;
Category/New;
我尝试了像 /Category.*;$/g
这样的正则表达式(从 Category
开始到第一个 ;
结束)但它一直匹配到文本结尾,而不是分号 ;
我也试过/Category.{1};$/g
但是不行。
我也不确定如何保留匹配项并删除所有其他文本。
尝试:
=ARRAYFORMULA(IFNA(REGEXEXTRACT(A1:A, "(Cat.*?\;)")))
=ARRAYFORMULA(IF(A1:A="",, SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IFNA(
REGEXEXTRACT(SPLIT(A1:A, ";"), "^Category/.*"))),,999^99))), " ", ";")&";"))
我有一列单元格中包含以下文本:
Colors/Red;Foods/Apple;Category/Featured;
Foods/Banana;Category/Recent;Colors/Yellow;
Colors/Blue;Foods/Grapes;Category/New;
我只想保留每个单元格中的 Category/Something;
个文本组,并删除所有其他文本。
例如,我正在尝试获取以下内容:
Category/Featured;
Category/Recent;
Category/New;
我尝试了像 /Category.*;$/g
这样的正则表达式(从 Category
开始到第一个 ;
结束)但它一直匹配到文本结尾,而不是分号 ;
我也试过/Category.{1};$/g
但是不行。
我也不确定如何保留匹配项并删除所有其他文本。
尝试:
=ARRAYFORMULA(IFNA(REGEXEXTRACT(A1:A, "(Cat.*?\;)")))
=ARRAYFORMULA(IF(A1:A="",, SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IFNA(
REGEXEXTRACT(SPLIT(A1:A, ";"), "^Category/.*"))),,999^99))), " ", ";")&";"))