From: | "George Weaver" <gweaver(at)shaw(dot)ca> |
---|---|
To: | "pgsql-general" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Replacing Ordinal Suffixes |
Date: | 2014-02-28 22:43:36 |
Message-ID: | 9EC880207C994495BAEBBADBA769E796@D420 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
From: Steve Atkins
On Feb 28, 2014, at 2:04 PM, George Weaver <gweaver(at)shaw(dot)ca> wrote:
> Hi list,
>
> I'm stumped.
>
> I am trying to use Regexp_Replace to replace ordinal suffixes in addresses
> (eg have '126th' want '126') for comparison purposes. So far no luck.
>
> I have found that
>
> SELECT REGEXP_REPLACE(LOWER('300 North 126th Street'),
> '(?!/D)(st|nd|rd|th)', '', 'g');
> regexp_replace
> ------------------
> 300 nor 126 reet
>
> but
>
> SELECT REGEXP_REPLACE(LOWER('300 North 126th Street'),
> '(?=/D)(st|nd|rd|th)', '', 'g');
> regexp_replace
> ------------------------
> 300 north 126th street
>
> I'm a novice with regular expressions and google hasn't helped much.
>
> Any suggestions?
>Maybe this?
>select regexp_replace('300 North 126th Street', '(\d+)(?:st|nd|rd|th)',
>'\1', 'gi');
Hi Steve,
Thanks, but no luck:
select regexp_replace('300 North 126th Street', E'(\d+)(?:st|nd|rd|th)',
E'\1', 'gi');
regexp_replace
------------------------
300 North 126th Street
George
Cheers,
Steve
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Atkins | 2014-02-28 23:04:32 | Re: Replacing Ordinal Suffixes |
Previous Message | George Weaver | 2014-02-28 22:41:12 | Re: Replacing Ordinal Suffixes |