【问题标题】:Removing single and double quotes from BigQuery using regexp_extract使用 regexp_extract 从 BigQuery 中删除单引号和双引号
【发布时间】:2016-10-28 04:36:42
【问题描述】:

我是一个正则表达式的菜鸟。我要做的就是从 BigQuery 中的字符串中删除单引号和双引号。我可以删除字符串开头的单引号和双引号,但不能删除结尾:

SELECT regexp_extract(foo, r'\"new_foo\":\"(.*?)\"') AS new_foo FROM [mybq:Schema.table]

我得到的只是 Null 但没有 regexp_extract 我有预期的结果。感谢您的帮助。

【问题讨论】:

  • 所以,问题是我有时在前面有单引号或双引号,有时在前面,有时在两端,有时都没有。这是一个例子:'atom' bomb crazy''duck'''elephant fox'''giraffe'''hippo''''igloo

标签: regex google-bigquery


【解决方案1】:

试试下面的方法

SELECT REGEXP_REPLACE(foo, r'([\'\"])', '') AS new_foo 
FROM [mybq:Schema.table]

【讨论】:

    【解决方案2】:

    你的正则表达式应该像/["']/g

    您正在使用不同的方法来获得预期的结果。试试REGEXP_REPLACE('orig_str', 'reg_exp', 'replace_str')

    类似这样的:

    SELECT REGEXP_REPLACE(word, /["']/g, '')AS new_foo 
    FROM [mybq:Schema.table]
    

    【讨论】:

      【解决方案3】:
      select replace(word,'"','') as word
      

      【讨论】:

      • 欢迎来到 Stack Overflow!虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高帖子的质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提出问题的人。请edit您的答案添加解释并说明适用的限制和假设。
      猜你喜欢
      • 2021-10-28
      • 1970-01-01
      • 2021-02-26
      • 2019-08-11
      • 1970-01-01
      • 2021-12-09
      • 2011-01-08
      • 1970-01-01
      • 2014-07-18
      相关资源
      最近更新 更多