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
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 |