使用 Google 表格 RE2 删除 2 个字符串之间的所有内容
Posted
技术标签:
【中文标题】使用 Google 表格 RE2 删除 2 个字符串之间的所有内容【英文标题】:Removing everything between 2 strings with Google sheets RE2 【发布时间】:2021-12-17 15:58:50 【问题描述】:我正在尝试从产品标题中删除某些内容作为 Google 表格的一部分
例如 2015 年约翰纳格莱斯顿黑皮诺,75CL Stella Artois 优质啤酒瓶,1 X 660 毫升 Pepesza Ppsh-40 伏特加汤米枪,1 升我希望能够从,
和CL
、ML
或L
中删除所有内容。
我遇到的问题是我对正则表达式的了解不够,我正在努力寻找一个学习的好地方!
到目前为止我尝试过的如下
=REGEXREPLACE(A2,"[, ]\QML|CL\E","")
但这不起作用,我认为这是因为[, ]
不是有效部分。
=REGEXREPLACE(A2,"\*\QML|CL\E","")
因为我知道 ,
是标题中唯一的标点符号 - 我也尝试过,但没有成功。
【问题讨论】:
【参考方案1】:你想要得到的是
(?i), .*?[CM]?L
请参阅regex demo。 详情:
(?i)
- 不区分大小写的标志
, .*?
- 逗号、空格,然后是除换行符以外的任何零个或多个字符,尽可能少(由于*?
,如果您需要尽可能多的字符,请改用*
)
[CM]?L
- C
或 M
(可选由于 ?
),然后是 L
字符。
但是,您可以简单地从 ,
+ 空格匹配到行尾:
", .*
见this regex demo。这里先匹配第一个逗号+空格,然后匹配字符串的其余部分(行,因为.
默认不匹配换行符)。
见the regular expression syntax accepted by RE2。
【讨论】:
以上是关于使用 Google 表格 RE2 删除 2 个字符串之间的所有内容的主要内容,如果未能解决你的问题,请参考以下文章