简体   繁体   中英

How do I use an ORACLE REGEX function to remove all leading and trailing line break characters and spaces?

How do I use an ORACLE REGEX function to remove all leading and trailing line break characters and spaces?

For example, assume I have the following string where refers to actual invisible carriage return line feed characters. Here's the input:

"     
   
   
   SELECT * 
   FROM
   TABLE
              
             "

And here's the desire output:

"SELECT *
   FROM 
   TABLE"

A single regexp_replace is sufficient, eg.

select regexp_replace(' 
 
 select frut
   from prut
   

','^[[:space:]]*(.*[^[:space:]])[[:space:]]*$','\1',1,1,'mn') from dual;

results in

select frut
   from prut

This would do it if regex_replace() is a requirement:

select regexp_replace('     
   
   
   SELECT * 
   FROM
   TABLE
              
             ', '^\s*|\s*$', '') as hello
from dual

See https://www.techonthenet.com/oracle/functions/regexp_replace.php for documentation.

在此处输入图像描述

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM