BigQuery 正则表达式从字符串中删除/替换文本列表

Posted

技术标签:

【中文标题】BigQuery 正则表达式从字符串中删除/替换文本列表【英文标题】:BigQuery regex remove/replace a list of text from a string 【发布时间】:2021-03-12 02:23:50 【问题描述】:

如何删除字符串中的文本列表? 基本上有一个 URL 列,并希望避免非常长的正则表达式和多个嵌套的替换函数。

有没有办法声明“http”、“www.”等文本列表并一次性将它们从列中删除?

【问题讨论】:

请提供样本数据和期望的结果。 【参考方案1】:

您可以使用以下简单方法

with t as (
  select 'Is there a way to declare a list of text such as "http", "www.", etc and have them removed from the column in one go?' col
)
select regexp_replace(col, r'http|www.|etc', '') cleaned_col
from t     

有输出

【讨论】:

以上是关于BigQuery 正则表达式从字符串中删除/替换文本列表的主要内容,如果未能解决你的问题,请参考以下文章

使用 regexp_extract 从 BigQuery 中删除单引号和双引号

BigQuery 正则表达式提取两个子字符串之间的字符串

如何在bigquery中获取字符串中正则表达式的匹配数?

在 Bigquery 中看到“数字 + 一个字母 + [逗号或空格]”后提取字符串的正则表达式

BigQuery:字符串后的正则表达式

Bigquery 中数字+字母组合的正则表达式