Sunday, 15 January 2012

regex - How more effectively find the substrings between the separator in PL/SQL? -


अब मैं यह करता हूं:

  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