Oracle регулярное выражение игнорировать косую черту - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь создать регулярное выражение, которое игнорирует косую черту при выделении.Например, у меня есть такой контент в моей колонке «вещи»:

arbit
t/obt 
t/comp 
t/dor
cramp
pod

Я могу печатать только: pod, tdor, арбитр, tcomp

Я пробовал с "REGEXP_SUBSTR"-Выражение, но, возможно, оно не подходит для этой проблемы.

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

Представьте, что у вас есть следующая таблица:

$ 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
0 голосов
/ 08 июня 2018

Вы можете использовать простую замену для удаления /:

SELECT things, REPLACE(things, '/', '')
FROM tab
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...