sql - Regexp_replace 返回无效数字
问题描述
我想从名称中删除诸如 Dr., Mr. Jr. 之类的头衔。Regexp_replace
应该搜索并删除 Dr. Mr. Jr 并且搜索应该不区分大小写,最终输出的名称中不应有.
or,
或额外的空格。
select regexp_replace('DR. Mr. Mr Dr Radha Jr Jr. Krishnan Jr.','(Dr|Mr|Jr)(\W|\w|$|,)',1,0,'i')
from dual
我收到无效号码错误。
解决方案
以下查询将删除多个空格并修剪前导空格:
SELECT TRIM(REGEXP_REPLACE(
REGEXP_REPLACE('DR. Mr. Mr Dr Radha Jr Jr. Krishnan Jr.', '(Dr|Mr|Jr)(\W|\w|$|,)', '', 1, 0, 'i')
, ' {2,}', ' ')) AS "Result"
FROM Dual
它将返回结果为Radha Krishnan
推荐阅读
- react-native - 通过 React Navigation 从任何组件访问导航道具
- python - 树莓派在 GPIO 处接收输入发送到另一个树莓派,后者在 GPIO 处提供输出
- c++ - 以编程方式防止文件被重命名或删除,但仍使其可写
- reactjs - 将道具传递给动态反应组件
- javascript - AngularJS:取消选择下拉菜单时隐藏div,并输出文本
- javascript - 如何将档案 (zip) 通过管道传输到 S3 存储桶
- visual-studio - VS2017 15.8.1 - ServiceHub.RoslynCodeAnalysisService32.exe 高 CPU - CodeLens 已禁用
- c# - 将项目 .net 目标框架从 3.5 升级到 4.5 后日历中的 C# 错误
- json - TypeScript:在嵌套的 Json 结构中查找和更新元素
- vue.js - vue透明包裹组件,修改一些props