REGEXP_REPLACE

REGEXP_REPLACE ricerca un pattern regolare in una stringa e lo sostituisce con un'altra stringa. Per impostazione predefinita, la funzione restituisce source_char con ciascuna ricorrenza del pattern di espressioni regolari sostituito da replace_string.

Valore restituito

VARCHAR2 | CLOB 

Sintassi

REGEXP_REPLACE(source_char, pattern
               [, replace_string
                  [, position
                     [, occurrence
                        [, match_parameter ]
                     ]
                  ]
               ]
              )

Argomenti

source_char è l'espressione di testo per la quale verrà eseguita la ricerca.

pattern è l'espressione di testo da cercare. Di solito corrisponde a un valore di testo e può contenere fino a 512 byte.

replace_string è il testo che sostituirà pattern in source_char.

position è un numero intero diverso da zero che indica il carattere della stringa da cui la funzione inizia la ricerca. Se la posizione è negativa, INSTR effettua il conteggio e la ricerca a ritroso dalla fine della stringa. Il valore predefinito della posizione è 1; tale valore indica che la funzione inizia la ricerca dal primo carattere della stringa.

occurrence è un numero intero che indica la ricorrenza della stringa che la funzione deve cercare. Il valore della ricorrenza deve essere positivo. Il valore predefinito della ricorrenza è 1; tale valore indica che la funzione cerca la prima ricorrenza di substring.

return_option può essere uguale a 0 e restituire la posizione della corrispondenza (valore predefinito) oppure uguale a 1 e restituire la posizione del carattere dopo la corrispondenza.

match_parameter è un valore di testo che consente di modificare il funzionamento predefinito della funzione in relazione alle corrispondenze restituite. È possibile specificare uno o più valori tra quelli indicati di seguito.

Esempio

REGEXP_REPLACE('500   Oracle     Parkway,    Redwood  Shores, CA', '( ){2,}', ' ') elimina gli spazi aggiuntivi e restituisce la stringa 500 Oracle Parkway, Redwood Shores, CA.