此问题在此处已有答案:
how to replace non ascii characters with empty values(1个答案)
2天前关闭。
我们在Postgres中的数据如下,有可能在一个字符串中有多个非ASCII字符
| 姓名|
| - ------|
| 凯特解决方案|
| 易达解决方案|
我们尝试识别字符串中是否有任何非ASCII字符集,如果有,则将其全部删除(如果没有非ASCII字符集,则保持字符串原样),并期望输出低于output
| 姓名|
| - ------|
| 凯特解决方案|
| 易达解决方案|
尝试使用下面的SQL,但它只删除了一个非ASCII字符,无论它出现在什么位置
select REGEX_REPLACE(name,'[^ -~]', '') as new_name from table
感谢您的帮助!
1条答案
按热度按时间hxzsmxv21#
来自Postgresql文档:
如果给定了g标志,或者指定了N且N为零,则替换起始位置或其后的所有匹配项。(指定N时忽略g标志。)
因此,要么添加第4个参数为零,0,要么添加第6个参数为“g”。