Oracle PL/SQL : remove "space characters" from a string
Since you're comfortable with regular expressions, you probably want to use the REGEXP_REPLACE function. If you want to eliminate anything that matches the [:space:] POSIX class
REGEXP_REPLACE( my_value, '[[:space:]]', '' )SQL> edWrote file afiedt.buf 1 select '|' || 2 regexp_replace( 'foo ' || chr(9), '[[:space:]]', '' ) || 3 '|' 4* from dualSQL> /'|'||-----|foo|
If you want to leave one space in place for every set of continuous space characters, just add the +
to the regular expression and use a space as the replacement character.
with x as ( select 'abc 123 234 5' str from dual)select regexp_replace( str, '[[:space:]]+', ' ' ) from x