REGEXP_REPLACE recherche un motif régulier dans une chaîne et le remplace par une autre chaîne. Par défaut, la fonction renvoie source_char avec chaque occurrence du motif d'expression régulier remplacé par replace_string.
VARCHAR2 | CLOB
REGEXP_REPLACE(source_char, pattern
[, replace_string
[, position
[, occurrence
[, match_parameter ]
]
]
]
)
source_char correspond à l'expression de texte dans laquelle la recherche a lieu.
pattern correspond à l'expression de texte à rechercher. Il s'agit habituellement d'un littéral de texte pouvant contenir jusqu'à 512 octets.
replace_string correspond au texte qui remplacera pattern dans source_char.
position est un entier non nul indiquant le caractère de la chaîne au niveau duquel la fonction commence la recherche. Si la position est un entier négatif, INSTR compte et effectue la recherche à partir de la fin de la chaîne. La valeur de position par défaut est 1, ce qui signifie que la fonction commence la recherche au niveau du premier caractère de la chaîne.
occurrence est un entier indiquant quelle occurrence de la sous-chaîne la fonction doit rechercher. La valeur de l'occurrence doit être positive. La valeur d'occurrence par défaut est 1, ce qui signifie que la fonction recherche la première occurrence de substring.
return_option est défini sur 0 pour renvoyer la position de la correspondance (valeur par défaut) et sur 1 pour renvoyer la position du caractère suivant cette correspondance.
match_parameter est un littéral de texte qui vous permet de modifier le comportement de la recherche de correspondances par défaut de la fonction. Vous pouvez indiquer les valeurs suivantes :
c : rechercher des correspondances en appliquant le respect maj/min.
i : rechercher des correspondances sans appliquer le respect maj/min.
m : traiter la chaîne source comme si elle comprenait plusieurs lignes. REGEXP_INSTR interprète respectivement ^ et $ comme le début et la fin d'une ligne, quel que soit l'endroit de la chaîne source où ces caractères se trouvent, et pas seulement s'ils figurent au début et à la fin de la chaîne source dans son ensemble. Par défaut, REGEXP_INSTR traite la chaîne source comme une seule ligne.
n : inclure le caractère de retour à la ligne dans les caractères englobés par le point (caractère générique). Par défaut, ce n'est pas le cas.
x : ignorer les caractères non imprimables.
REGEXP_REPLACE('500 Oracle Parkway, Redwood Shores, CA', '( ){2,}', ' ') élimine les espaces superflus et renvoie la chaîne 500 Oracle Parkway, Redwood Shores, CA.
Copyright © 2003, 2007, Oracle. Tous droits réservés.