J'ai un tableau qui contient un certain nombre de lignes avec des colonnes contenant une URL. L'URL est au format:
http://one.example1.com:9999/dotFile.com
Je voudrais remplacer toutes les correspondances de cette colonne par http://example2.com/dotFile.com
tout en conservant tout après: 9999. J'ai trouvé de la documentation sur regexp_matches et regexp_replace, mais je ne peux pas tout à fait comprendre.
si vous connaissez l'url, vous n'avez pas besoin d'utiliser l'expression régulière. La fonction replace () devrait fonctionner pour vous:
replace(string text, from text, to text)
Replace all occurrences in string of substring from with substring to
example: replace('abcdefabcdef', 'cd', 'XX') abXXefabXXef
tu pourrais essayer:
replace(yourcolumn, 'one.example1.com:9999','example2.com')
Pour remplacer une chaîne fixe, utilisez la simple fonction replace()
.
Pour remplacer une chaîne dynamique, vous pouvez utiliser regexp_replace()
comme ceci:
UPDATE
YourTable
SET
TheColumn = regexp_replace(
TheColumn, 'http://[^:\s]+:9999(\S+)', 'http://example2.com\1', 'g'
)