Count occurrences of pattern in string

Started by dario.ber@libero.itover 16 years ago2 messagesgeneral
Jump to latest
#1dario.ber@libero.it
dario.ber@libero.it

Hello,

I'm looking for a function to count the occurrences of a pattern in a
string. E.g. something like:

fun_count_pattern('fooXblaX', 'X')

which would
return 2 (I.e. pattern 'X' found 2 times in string 'fooXblaX').

I could write
my own function for this (probably using plpython?) but I was wandering whether
there is some function or combination of functions that I could use 'off-the-
shelf'.

Thanks very much

All the best

Dario

PS: I'm using PostgreSQL 8.3 on
Windows XP.

#2Andreas Kretschmer
akretschmer@spamfence.net
In reply to: dario.ber@libero.it (#1)
Re: Count occurrences of pattern in string

dario.ber@libero.it <dario.ber@libero.it> wrote:

Hello,

I'm looking for a function to count the occurrences of a pattern in a
string. E.g. something like:

fun_count_pattern('fooXblaX', 'X')

which would
return 2 (I.e. pattern 'X' found 2 times in string 'fooXblaX').

How about:

test=*# select length('fooXblaX') - length(regexp_replace('fooXblaX','X','','g')) / length('X');
?column?
----------
2
(1 Zeile)

Andreas
--
Really, I'm not out to destroy Microsoft. That will just be a completely
unintentional side effect. (Linus Torvalds)
"If I was god, I would recompile penguin with --enable-fly." (unknown)
Kaufbach, Saxony, Germany, Europe. N 51.05082�, E 13.56889�