我的数据包含一个注释字段,该字段由于导出工具错误而充满无效字符,并从 Excel 电子表格 (*.xls) 导入。
该字符在 XML 中出错,表示字符引用“”是无效的 XML 字符。
我将如何替换wingdings字符,例如:PostgreSQL中的性别标志、块、符号?
我试图将这些字符复制并粘贴到替换语句或任何与此相关的语句中,但徒劳无功。有没有办法通过 RegExp 替换任何非字母数字或“-=+”类型的字符?任何帮助,将不胜感激。
我的数据包含一个注释字段,该字段由于导出工具错误而充满无效字符,并从 Excel 电子表格 (*.xls) 导入。
该字符在 XML 中出错,表示字符引用“”是无效的 XML 字符。
我将如何替换wingdings字符,例如:PostgreSQL中的性别标志、块、符号?
我试图将这些字符复制并粘贴到替换语句或任何与此相关的语句中,但徒劳无功。有没有办法通过 RegExp 替换任何非字母数字或“-=+”类型的字符?任何帮助,将不胜感激。
SELECT regexp_replace('123xabcABCxöäüxÖÄÜx¡‘’xæćčx=+-x"§$%&/()x'
,'[^a-zA-Z0-9=+-]','_','g')
结果:
123xabcABCx___x___x___x___x=+-x________x
^
角色类中的领先者[^a-zA-Z0-9=+-]
否定了它。阅读“不在以下列表中的所有字符”。
注意将-
字符放在字符类的末尾(或开头),否则它将具有特殊含义,例如 in a-z
。
请注意“全局”的第四个参数'g'
。没有它,只有第一场比赛会被替换。
还要注意,像这样的字符是如何öäü
被替换的。您可能想要也可能不想要……因此,您可能对unaccent
提供该unaccent()
功能的扩展感兴趣:
unaccent() 函数从给定的字符串中删除重音符号(变音符号)。
此处的手册中有关 PostgreSQL 正则表达式的详细信息。