我想从我的文本中删除非Ascii字符并将其替换为" .
我有一些无效的字符在我的表,我试图删除。但是我遇到了一个问题。
的例子:
123Abh¿½ï¿½ï¿½ï¿½ï¿½v streeÁÉÍÓt
预期输出:
123Abh street
现在我使用
regex_replace('123Abh¿½ï¿½ï¿½ï¿½ï¿½v streeÁÉÍÓt','[^[:print:]],'')
但这是不工作,有什么建议吗?
可以使用
regex_replace('123Abh¿½ï¿½ï¿½ï¿½ï¿½v streeÁÉÍÓt', '[^\x{0000}-\x7E]+', '')
,
[^
-匹配除。之外的任何字符的否定字符类的开始x{0000}-x7E
- ASCII表中NULL
到~
字符的字符数
]+
-类结束,匹配一次或多次。
如果我需要删除除空格和连字符以外的所有特殊字符该怎么办?-在这种情况下,您需要使用
regex_replace('123Abh¿½ï¿½ï¿½ï¿½ï¿½v streeÁÉÍÓt', '[^\w\s-]|_', '')
这里,[^ws-]|_+
匹配除字母、数字、_
、空格和-
之外的任何符号,或者下划线(注意w
匹配下划线,因此必须通过|
(一个替换操作符)添加)。