替换 Redshift 中的特殊 Unicode 字符

Replace special Unicode characters in Redshift

我试图删除行尾的多余字符 'u202C ',但没有任何效果。问题出在哪里?

SELECT regexp_replace('race‬', '[\u202C]'), len(regexp_replace('race‬', '[\u202C]'))

一般来说,在 Redshift 中如何从字符串中删除所有非字母或数字的内容?

在这些情况下,我喜欢删除所有非 ascii 字符,但这可能会删除您想要的一些字符。我为此使用的正则表达式字符串是 '[^'||chr(1)||'-'||chr(127)||']' 匹配任何不在 ascii 1 和 ascii 127 之间的内容。

我使用“[^[:print:][:cntrl:]]”取得了一些成功,但并非在所有情况下都成功。

您也可以只将相关字符添加到搜索字符串中,但这可能会丢失,具体取决于您的工作台。它也可能不可读。并不总是最好的解决方案,并且在您更换工具时可能会中断。