Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to replace special character letters with equivalent standards?

2754890Sep 18 2014 — edited Sep 21 2014

Hi please help,

I need to replace special letter characters to normal, e.g. é to e , ë to e, Ë to E, á to a, ô to o etc.

I need to leave other special characters such as minus, dot,  underscore, & erc. intact.

I am working with regexp_replace but can't find a way to create a singe function setting which converts all special letters to normals.

     Source column                                   -     Needed output

     ---                                                       -     ---

1     Professor von Kármán                     -     Professor von Karman

2     Chasséveld                                      -     Chasseveld

3     Örehof                                              -     Orehof

4     Martin Schröderloane                      -     Martin Schroderloane

5     Jean-Landré                                    -     Jean-Landre

6     François HaverSchmidtwei             -     Francois HaverSchmidtwei

I am trying
:

SELECT regexp_replace("Source",'[[=e=],[=a=],[=o=]]','*')

FROM DUAL

The * is now used to replace all special character e, a, and o.

I cant get this to be the desired e, a or o.
I tried using variances on the rexexp_replace

e.g., regexp_replace("Source",'[[=e=],[=a=],[=o=]]','\1')

But don't get where I need to be.

Anyone?

Thanks Steven

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 19 2014
Added on Sep 18 2014
7 comments
3,140 views