使用 Google 表 RE2 删除 2 个字符串之间的所有内容
Removing everything between 2 strings with Google sheets RE2
我正在尝试从产品标题中删除某些内容作为 Google sheet
的一部分
- 例如 Johner Gladstone 黑比诺 2015,75CL
- Stella Artois 优质拉格啤酒瓶,1 X 660 毫升
- Pepesza Ppsh-40 伏特加冲锋枪,1 升
而且我希望能够从 ,
以及 CL
、ML
或 L
.
中删除所有内容
我 运行 遇到的问题是我对正则表达式的了解不够,我正在努力寻找一个好的学习场所!
目前我尝试过的如下
=REGEXREPLACE(A2,"[, ]\QML|CL\E","")
但这行不通,我认为这是因为 [, ]
不是有效部分。
=REGEXREPLACE(A2,"\*\QML|CL\E","")
因为我知道 ,
是标题中唯一的标点符号 - 我也尝试过但没有成功。
你想要得到的是
(?i), .*?[CM]?L
见regex demo。 详情:
(?i)
- 不区分大小写的标志
, .*?
- 逗号,space,然后是除换行符以外的任何零个或多个字符,尽可能少(由于 *?
,如果您需要尽可能多的字符尽可能使用 *
代替)
[CM]?L
- C
或 M
(可选,由于 ?
),然后是 L
个字符。
但是,您可以简单地从 ,
+ space 匹配到行尾:
", .*
参见 this regex demo。这里,第一个逗号+space被匹配,然后是字符串的其余部分(行,因为.
默认不匹配换行符)。
我正在尝试从产品标题中删除某些内容作为 Google sheet
的一部分- 例如 Johner Gladstone 黑比诺 2015,75CL
- Stella Artois 优质拉格啤酒瓶,1 X 660 毫升
- Pepesza Ppsh-40 伏特加冲锋枪,1 升
而且我希望能够从 ,
以及 CL
、ML
或 L
.
我 运行 遇到的问题是我对正则表达式的了解不够,我正在努力寻找一个好的学习场所!
目前我尝试过的如下
=REGEXREPLACE(A2,"[, ]\QML|CL\E","")
但这行不通,我认为这是因为
[, ]
不是有效部分。=REGEXREPLACE(A2,"\*\QML|CL\E","")
因为我知道
,
是标题中唯一的标点符号 - 我也尝试过但没有成功。
你想要得到的是
(?i), .*?[CM]?L
见regex demo。 详情:
(?i)
- 不区分大小写的标志, .*?
- 逗号,space,然后是除换行符以外的任何零个或多个字符,尽可能少(由于*?
,如果您需要尽可能多的字符尽可能使用*
代替)[CM]?L
-C
或M
(可选,由于?
),然后是L
个字符。
但是,您可以简单地从 ,
+ space 匹配到行尾:
", .*
参见 this regex demo。这里,第一个逗号+space被匹配,然后是字符串的其余部分(行,因为.
默认不匹配换行符)。