В приведенном ниже примере:Oracle REGEXP заменить только первый символ
WITH X(DATA, ORD)
AS
(
Select '@[email protected]' , 01 FROM DUAL UNION
Select '\[email protected]\' , 02 FROM DUAL UNION
Select '[email protected]' , 03 FROM DUAL UNION
Select '[email protected]' , 04 FROM DUAL
)
SELECT
REGEXP_REPLACE(DATA, '[@\-_]', '', 1)
FROM X
ORDER BY ORD;
;
Я получаю ответ:
asdf
qwer
-zxcv-
poiu
Но я хотел бы заменить «@», или «\ "или" - "или" _ ", только если это первый символ в строке, а не посередине. Плюс он не работает для символа «-».
@CraigStevensson помог вам? –
Спасибо, но нет. Ваше регулярное выражение удаляет «\» всюду и «-» везде, я просто хочу, чтобы он был удален первым. –
Я использую Oracle 11.2.0.4 –