अब मैं यह करता हूं:
declare str varchar2 (1000): = '1a2b3c / A1B2C3 '; शुरू dbms_output.enable; Dbms_output.put_line (regexp_replace (str, '(। *) /। *', '' 1 ')); - 1a2b3c dbms_output.put_line (regexp_replace (str,'। * / (। *) ',' 1 ' )); - a1b2c3 अंत;
मैं यह कैसे एक अलग तरीके से कर सकता हूँ?
मैं इसे और अधिक कुशलता से कैसे कर सकता हूं?
का प्रयोग करें INSTR ()
और /
:
DECLARE को ढूंढें Str varchar2 (1000): = '1a2b3c / a1b2c3'; BEGIN DBMS_OUTPUT.ENABLE; DBMS_OUTPUT.PUT_LINE (TRIM (SUBSTR (str, 1, INSTR (str, '/') - 1))); DBMS_OUTPUT.PUT_LINE (TRIM (SUBSTR (एसआरआर, INSTR (str, '/') + 1, LENGTH (str) - INSTR (स्ट्र, '/')))); समाप्त;
आप REGEXP_SUBSTR ()
का भी उपयोग कर सकते हैं, लेकिन अगर आप REGEXP_REPLACE ()
का उपयोग नहीं करना चाहते हैं, तो संभवतः आप नियमित अभिव्यक्ति का उपयोग करना चाहते हैं:
DBMS_OUTPUT.ENABLE; DBMS_OUTPUT.PUT_LINE (TRIM (REGEXP_SUBSTR (str, '^ [^ \ /] *'))); DBMS_OUTPUT.PUT_LINE (TRIM (REGEXP_SUBSTR (str, '[^ \ /] * $')));
No comments:
Post a Comment