在PG提供了两个函数用于拆份字符串:
1.regexp_split_to_array:它根据正则表达式拆分字符串并将其部分返回到数组中。
2.regexp_split_to_table:它根据正则表达式将字符串拆分为多个部分,并将其部分返回到表的行中
REGEXP_SPLIT_TO_ARRAY
select 'first field, second field , third field' as str;
----------
first field, second field , third field
select regexp_split_to_array('first field, second field , third field',',') as ar_str;
---------
{"first field"," second field "," third field"}
select ar_str[_idx] from (
select generate_subscripts(ar_str,1) as _idx, ar_str from (
select regexp_split_to_array('first field, second field , third field',E'\\,') as ar_str
) v
) v1;
--------------
first field
second field
third field
SELECT (regexp_split_to_array('www.ANBOB.com', E'\\.'))[2];
------
ANBOB