Oracle正则表达式忽略斜杠

时间:2018-06-08 07:33:10

标签: sql regex oracle select

我尝试创建正则表达式,它通过选择忽略斜杠符号。 例如,我在“事物”栏目中有这样的内容:

float()

我只能输入:pod,tdor,arbit,tcomp

我尝试过“arbit t/obt t/comp t/dor cramp pod ” - 表达式,但可能不适合这个问题。

2 个答案:

答案 0 :(得分:2)

您可以使用简单替换来移除/

SELECT things, REPLACE(things, '/', '')
FROM tab

答案 1 :(得分:2)

想象一下,您有下表:

$ select * from PERSONS;

PersonID LastName FirstName ADDRESS CITY
1          arbit     null      null  null           
2          t/obt     null      null  null           
3          t/comp    null      null  null           
4          t/dor     null      null  null           
5          cramp     null      null  null           
6          pod       null      null  null

您可以使用以下不使用正则表达式的简单replace

select Replace(Lastname,'/','') from persons;
-- you can omit the replacement part select Replace(Lastname,'/') from persons;

--Replace(Lastname,'/','')--    
arbit
tobt
tcomp
tdor
cramp
pod

如果你真的需要进行复杂的搜索并使用正则表达式进行替换: (在你的情况下这不是必需的)

$ select REGEXP_REPLACE(Lastname, '/', '') from persons;

--REGEXP_REPLACE(Lastname, '/', '')--
arbit
tobt
tcomp
tdor
cramp
pod

您也可以省略替换部件,因为它是空的:

select REGEXP_REPLACE(Lastname, '/') from persons