Thread: how to replace last 4 digital phone number into star using regexp_replace?
hi, friends,
Our phone number format is 11 digital, i want to replace last 4 digital into star, for example:
Replace this string including 11 digital phone number:
'18910180000,13910180000,232,abc'
into:
'1891018****,1391018****,232,abc'
I try to use:
select regexp_replace('18910180000,13910180000,232,abc','[0-9]{7}(\d+)','****','g')
But it doesn't work, it will return:
"****,****,232,abc"
Can anyone help me? Thanks a million!
Best Regards
peng
Re: how to replace last 4 digital phone number into star using regexp_replace?
From
Michail Shurutov
Date:
You should grouping first 7 digits to keep "([0-9]{7})" and replace last 4 digits \d{4}: postgres@postgres=# select regexp_replace('18910180000,13910180000,232,abc','([0-9]{7})\d{4}',E'\\1****','g') ; regexp_replace --------------------------------- 1891018****,1391018****,232,abc (1 row) Time: 73,528 ms postgres@postgres=# 05.08.2016 13:35, sunpeng пишет: > hi, friends, > Our phone number format is 11 digital, i want to replace last 4 > digital into star, for example: > Replace this string including 11 digital phone number: > '18910180000,13910180000,232,abc' > into: > '1891018****,1391018****,232,abc' > I try to use: > select > regexp_replace('18910180000,13910180000,232,abc','[0-9]{7}(\d+)','****','g') > But it doesn't work, it will return: > "****,****,232,abc" > Can anyone help me? Thanks a million! > > Best Regards > peng -- WBR, Michail Shurutov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company