La función REGEXP_REPLACE en PostgreSQL nos devuelve un texto sustituyendo la palabra que coincida con la expresión regular. Esta función está englobada en las denominadas funciones de cadena.
Sintaxis
Escribe la siguiente sintaxis para utilizarlo:
REGEXP_REPLACE(cadena, patrón, reemplazo [, indicador])
Lenguaje del código: CSS (css)
- REGEXP_REPLACE: es el nombre de la función.
- cadena: cadena a buscar.
- patrón: expresión regular.
- reemplazo: cadena por la que se sustituirá.
- indicador: parámetro para indicar opciones, en la mayoría de caso de utiliza el indicador g, ya que de lo contrario solo devolvería un resultado.
Ejemplo
Cambiar orden de palabras
En el siguiente ejemplo puedes observar como la columna nombre de la tabla empleados contiene el nombre y el apellido del empleado, pero necesitamos convertirlo al formato apellido, nombre:
SELECT nombre,
REGEXP_REPLACE(nombre,'(.*) (.*)','\2, \1')
from empleados;
Lenguaje del código: JavaScript (javascript)
Eliminar letras
En el siguiente ejemplo eliminamos las letras del texto ‘ABC12345xyz’. :
SELECT REGEXP_REPLACE('ABC12345xyz','[[:alpha:]]','','g');
Lenguaje del código: JavaScript (javascript)
- [[:alpha:]]: coincide con cualquier letra.
- »; sustituimos las letras encontradas por un vacío.
- g: para que sustituya todas las letras que encuentre, no solo la primera.
Eliminar dígitos
En el siguiente ejemplo eliminamos los dígitos del texto ‘ABC12345xyz’. :
SELECT REGEXP_REPLACE('ABC12345xyz','[[:digit:]]','','g');
Lenguaje del código: JavaScript (javascript)
- [[:digit:]]: coincide con cualquier dígito.
- »; sustituimos los dígitos encontradas por un vacío.
- g: para que sustituya todas las letras que encuentre, no solo la primera.
Eliminar espacios
En el siguiente ejemplo eliminamos los espacios cuando hay más de uno seguido:
SELECT REGEXP_REPLACE('Miguel Troyano no sabe escribir','( ){2,}',' ','g');
Lenguaje del código: JavaScript (javascript)
- ‘( ){2,}’: busca el espacio cuando ocurra más de dos veces seguidas.
- ‘ ‘; sustituimos cuando encuentre un resultado por un espacio.
- g: para que sustituya todas las veces que lo encuentra.