> Jasbinder Singh Bali <jsbali@gmail.com> schrieb:
>> I'm writing a function in plpgsql and i need to do the following:
>>
>> I have a string in the following format.
>>
>> mail.yahoo.com
>>
>> In this string, i need to figure out the number of dots in it and
split the
>> string into two on last but one dot.
>
> Number of dots:
>
> test=*# select
> length(regexp_replace('mail.yahoo.com','[^\.]','','g'));
> length
> --------
> 2
> (1 row)
I think that this is the desired split:
test=> SELECT regexp_replace('mail.yahoo.com',
E'^(.*)\\.([^.]*\\.[^.]*)$', E'\\1');
regexp_replace
----------------
mail
(1 row)
test=> SELECT regexp_replace('mail.yahoo.com',
E'^(.*)\\.([^.]*\\.[^.]*)$', E'\\2');
regexp_replace
----------------
yahoo.com
(1 row)
Yours,
Laurenz Albe