postgresql - How to "not include" some piece in regex pattern -
given string 12,.34.56
i need split string point (.), these points, previous character not comma (,)
that is, string above, must retrieve result
12,.34 56 i trying this:
select regexp_split_to_table('12,.34.56', e'[^,]\\\.')
this returns:
12,.3 56 as see, symbol 4 removed, reason understood: [^,] means "some symbol" except comma, , in case, "some symbol" turned 4
question: how prevent this? how not include piece: [^,] in pattern?
since not supported postgres regular expressions, workaround replace ,. (unique) combination of characters , later convert back:
select replace(unnest(string_to_array( replace('12,.34.56.78,.34', ',.','~^~'), '.')), '~^~', ',.') i using unnest(sting_to_array()) instead of regexp_split_to_table() because has shown scale better.
Comments
Post a Comment