代码之家  ›  专栏  ›  技术社区  ›  Wicket

如何在新的Google表单中检测单元格值是否以撇号开头

  •  0
  • Wicket  · 技术社区  · 9 年前

    假设在Google Sheets电子表格中,单元格A2中有一个空白问题:

    我____快乐。

    答案应写在单元格B2中。正确答案如下

    • '米

    错误答案示例:

    C2中的测试公式为 =REGEXMATCH(B2;"^['a]m$") .

    问题是当B2值为 'm 上述公式返回 FALSE 而不是 TRUE .

    另一方面,通过使用GoogleAppsScript函数检查单元格值,getValue()返回 m 而不是 '米 .

    function check(){
      var file = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = file.getSheetByName('Hoja 1');
      var range = sheet.getRange('B2');
      var value = range.getValue();
      throw value;  
    }
    


    更新:
    https://stackoverflow.com/a/15992619/1595451 https://stackoverflow.com/a/16698417/1595451 是与相反问题相关的问题的答案,去掉前导撇号。他们使用 substring(1) 删除撇号。此时,当值为 '米 它返回一个空字符串( "" ).


    归因:最初的问题由萨尔瓦多·普雷兹·格麦斯用西班牙语发布在谷歌驱动器帮助论坛上。 Reconocer expresiones que comienzan por apóstrofe o comilla simple ( ' ) .
    1 回复  |  直到 7 年前
        1
  •  2
  •   Brian    9 年前

    Excel和Google Sheets寻找一个前导撇号来定义格式,因此它被忽略。所以,使用您的 REGEXMATCH 公式,其计算结果为 false 因为它跳过撇号。

    让用户在他们的回答中使用两个撇号——一个作为格式,另一个作为英文撇号。正则表达式将返回 true.