Re: Replacing Ordinal Suffixes - Mailing list pgsql-general

From Steve Atkins
Subject Re: Replacing Ordinal Suffixes
Date
Msg-id A07AA4AD-74A9-4151-8ED8-5FE4839596D3@blighty.com
Whole thread Raw
In response to Replacing Ordinal Suffixes  ("George Weaver" <gweaver@shaw.ca>)
Responses Re: Replacing Ordinal Suffixes  (Bret Stern <bret_stern@machinemanagement.com>)
List pgsql-general
On Feb 28, 2014, at 2:04 PM, George Weaver <gweaver@shaw.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
comparisonpurposes.  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');

Cheers,
  Steve



pgsql-general by date:

Previous
From: Paul Jungwirth
Date:
Subject: Re: Replacing Ordinal Suffixes
Next
From: Bret Stern
Date:
Subject: Re: Replacing Ordinal Suffixes