【问题标题】:Regex Match Return all Numbers正则表达式匹配返回所有数字
【发布时间】:2020-06-23 14:41:01
【问题描述】:

我在 Google 表格列中有这些数据

A2: BOX OF BOTTLES 
A3: BOX OF 10 BOTTLES 
A4: BOX OF 20 BOTTLES 
A5: BOX OF 30 BOTTLES 

我希望我的公式 REGEXMATCH 以这种格式返回:

B2 : BX-BT
B3 : BX-10BT
B4 : BX-20BT
B5 : BX-30BT

这是我的第一次尝试:

=IFS(REGEXMATCH(A2,"BOX OF BOTTLES"),"BX-BT"。所以如果我有像 A3、A4 和 A5 这样的数字,它现在不起作用

有没有办法让它在 Google 表格中运行?

【问题讨论】:

    标签: google-sheets google-sheets-formula


    【解决方案1】:

    使用REGEXREPLACE我们可以试试:

    =REGEXREPLACE(A1, "BOX OF (?:(\d+) )?BOTTLES", "BX-$1BT")
    

    Demo

    编辑:

    从您下面的 cmets 看来,上面的内容可能不适合您。根据您的问题,这可能是因为您的输入文本中有尾随空格。尝试在正则表达式模式中考虑这一点:

    =REGEXREPLACE(A1, "BOX OF (?:(\d+) )?BOTTLES\s*", "BX-$1BT")
    

    【讨论】:

    • 嗨@Tim Biegelesion,谢谢你的帮助我试过你的公式docs.google.com/spreadsheets/d/…M
    • ……然后……发生了什么事?逻辑至少在演示中起作用
    • @SimonGIS 请尝试:=REGEXREPLACE(A1, "BOX OF\s*(\d+)?\s*BOTTLES", "BX-$1BT")
    • 啊哈...看来您的瓶子文本中可能有一些尾随空格。检查我更新的答案。
    猜你喜欢
    • 2021-10-12
    • 2020-12-02
    • 1970-01-01
    • 2018-02-18
    • 2012-12-22
    • 2017-04-14
    • 2022-01-14
    • 2021-12-13
    • 1970-01-01
    相关资源
    最近更新 更多