Función REGEXP_REPLACE en PostgreSQL

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])
  • 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;
Función REGEXP_REPLACE en PostgreSQL

Eliminar letras

En el siguiente ejemplo eliminamos las letras del texto ‘ABC12345xyz’. :

SELECT REGEXP_REPLACE('ABC12345xyz','[[:alpha:]]','','g');
  • [[: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');
  • [[: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');
  • ‘( ){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.

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.