regex - 如何从配置单元中的文本中删除非 Ascii 字符(非键盘特殊字符)
问题描述
我想从我的文本中删除非 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-]|_', '')
在这里,[^\w\s-]|_+
匹配除字母、数字、_
、空格和-
或下划线以外的任何一个符号(注意\w
匹配下划线,因此必须通过|
交替运算符添加)。
推荐阅读
- google-cloud-platform - 如何通过 GCP 部署管理器创建网络端点组
- authentication - 如何从 Spotify 访问令牌中检索数据以及如何验证访问令牌
- r - 由强制错误和无效打印数字产生的 NA
- wordpress - 使用 Timber 为通用页面模板渲染自定义树枝文件
- javascript - 如何仅使用 webpack 5 编译一个打字稿文件并排除其他所有内容?
- ruby - 如何解决 macOS 上的 gem install pg 错误
- python - 将 HTML 转换为 CSV 或 XLS 以进行 SSIS 平面文件上传
- kubernetes - 在 Kubernetes 中使用 Helm GitLab-Runner 进行带有自签名证书的 Gitlab 和 Docker Registry(x509 错误)
- stream - 区分 RTCPeerConnection 远端的轨道种类
- sql - SQL 日期场景,用于在本月 1 日获取上个月的数据,然后在上个月下降