You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery如何精准移除列中的<0x00>类隐藏特殊字符

解决方案

你导出CSV时显示的<0x00>是ASCII空字符(NULL字符,Unicode编码U+0000)的标识,只需要针对性匹配该字符删除即可,完全不需要用之前覆盖范围过宽的白名单正则,不会误删正常数据。

精准仅删除0x00空字符(推荐)

从你写的查询语句格式判断用的是BigQuery,直接用正则匹配\x00(正则中代表十六进制编码为00的字符)替换为空即可:

SELECT 
  fruits,
  REGEXP_REPLACE(fruits, r'\x00', '') AS new_fruits
FROM `project-id.MYDATASET.my_table`

这个写法只会删除你提到的这类异常隐藏字符,对正常的字母、数字、空格、下划线、横杠等所有可见内容都不会产生任何影响。

扩展清理所有不可见控制字符

如果后续还发现有其他类型的不可见异常控制字符需要清理,可以把匹配范围扩展到所有ASCII控制字符(编码范围0-31、127),也不会影响正常可见内容:

SELECT 
  fruits,
  REGEXP_REPLACE(fruits, r'[\x00-\x1F\x7F]', '') AS new_fruits
FROM `project-id.MYDATASET.my_table`

如果需要保留原字符之间的空格,上述两个写法都可以满足需求,不需要额外加TRIM,除非你确实需要去掉首尾空格。


内容的提问来源于stack exchange,提问作者user6308605

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:36:03