如何将移除Unicode控制字符的JavaScript代码转换为Redshift SQL?
将JavaScript控制字符替换逻辑转换为Redshift SQL
你需要的Redshift SQL代码可以这样写:
REGEXP_REPLACE(str, '[\x00-\x1F\x7F-\x9F]', ' ', 'g')
关键说明:
- JavaScript中的
/[\0-\x1F\x7F-\x9F]/g是匹配ASCII控制字符(0-31)和Latin-1扩展控制字符(127-159),Redshift正则支持用\xHH(两位十六进制)表示这些不可见字符,完美解决了直接粘贴控制字符(比如ASCII 0)不可行的问题。 - 你之前使用的
'p'标记是错误的——Redshift的REGEXP_REPLACE不支持这个标记,这会导致正则行为异常(比如误删可见字符)。正确的全局替换标记是'g',对应JavaScript里的g修饰符。 - 这个SQL语句会把所有目标控制字符替换为空格,和原JavaScript代码的逻辑完全一致。
内容的提问来源于stack exchange,提问作者user433342
相关产品推荐
相关产品推荐

