Re: Substring y expresiones regulares

From: Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>
To: baru gerardi <soybaru(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Substring y expresiones regulares
Date: 2017-03-23 16:57:46
Message-ID: 1838296985.617339.1490288266146.JavaMail.root@fmed.uba.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

----- Mensaje original -----
> De: "baru gerardi" <soybaru(at)gmail(dot)com>
> Para: pgsql-es-ayuda(at)postgresql(dot)org
> Enviados: Jueves, 23 de Marzo 2017 13:13:29
> Asunto: [pgsql-es-ayuda] Substring y expresiones regulares
>
>
>
>
>
>
>
> Buenos dias
> Necesito extraer de un campo de texto los nros de DNI contenidos en
> él.
> Sé que los mismos se encuentran luego de la cadena 'DNI:'
>
> Con substring(texto from 'DNI:') ubico la cadena
>
> pero necesito que liste de ahí en adelante los nros que encuentre,
> teniendo en cuenta:
> 1. que desconozco cuantos espacios hay entre 'DNI:' y el primer
> dígito y
> 2. que puede haber puntos entre los dígitos
>
>
> Desde ya, gracias por la ayuda

Que tal una expresion regular para borrar todo lo que *no* sean numeros:

select regexp_replace(texto, '[^0-9]', '','g') from tabla;

postgres=# select *, regexp_replace(dni, '[^0-9]', '','g') as solo_numeros from dnis;
dni | solo_numeros
--------------------+--------------
DNI: 12.382.712 | 12382712
DNI:12382712 | 12382712
DNI:123827..12 | 12382712
(3 rows)

HTH

Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Olarte 2017-03-23 17:03:36 Re: Substring y expresiones regulares
Previous Message Anthony Sotolongo 2017-03-23 16:43:08 Re: Substring y expresiones regulares