Hi 2018-05-16 8:14 GMT+02:00 Philipp Kraus <philipp.kr...@tu-clausthal.de>:
> Hello, > > I have got a function with a reg expr to split chemical formulas e.g. H2O > -> H2 O. > > CREATE OR REPLACE FUNCTION daimon.text2sumformula(text) RETURNS text[] AS > $$ > select array_agg(i::text) as e from ( select unnest( regexp_matches( > $1, '[0-9]*[A-Z][a-z]?\d*|\((?:[^()]*(?:\(.*\))?[^()]*)+\)\d+', 'g') ) ) > i; > $$ LANGUAGE SQL IMMUTABLE; > > For H2O I get an array with {(H2),(O)} > How I can return the inner elements as text, I would like to get {H2,O} > without round brackets? > > Thanks > maybe you want array_to_string function postgres=# select array['a','b']; ┌───────┐ │ array │ ╞═══════╡ │ {a,b} │ └───────┘ (1 row) postgres=# select array_to_string(array['a','b'],''); ┌─────────────────┐ │ array_to_string │ ╞═════════════════╡ │ ab │ └─────────────────┘ (1 row) Regards Pavel > > Phil > > > >