2012-11-08 16 views
8

Czy jest jakiś lepszy sposób wykończenia {""} w wyniku regexp_matches niż:regexp_matches lepszego sposobu, aby pozbyć się powracających nawiasów klamrowych

trim(trailing '"}' from trim(leading '{"' from regexp_matches(note, '[0-9a-z \r\n]+', 'i')::text)) 
+0

'regexp_matches' zwraca tablicę wszystkich dopasowań. Ciąg reprezentujący tablicę zawiera nawiasy klamrowe. Pytanie brzmi, co chcesz zrobić z każdym elementem tablicy? W jaki sposób wykorzystujesz wynik funkcji 'regexp_match()'? –

Odpowiedz

19

regexp_matches() zwraca tablicę wszystkich meczów. Ciąg reprezentujący tablicę zawiera nawiasy klamrowe, dlatego je otrzymujesz.

Jeśli chcesz po prostu listę wszystkich dopasowanych elementów, można użyć array_to_string() przekonwertować wynik w „zwykłej” typ danych Tekst:

array_to_string(regexp_matches(note, '[0-9a-z \r\n]+', 'i'), ';') 

Jeśli jesteś zainteresowany tylko w pierwszym meczu, to może wybrać pierwszy element tablicy:

+0

Chciałem pozbyć się śmieci w polu tekstowym, więc 'array_to_string' jest tym, czego potrzebowałem. Dzięki za wyjaśnienie! –

+0

dziękuję bardzo, że to działa: D –

Powiązane problemy