PostgreSQL regexp_split_to_array() 函数使用指南
PostgreSQL regexp_split_to_array()
函数将一个指定的字符串按照通过 POSIX 正则表达式指定的分隔符拆分成数组并返回。
此函数和 string_to_array()
函数类似。
regexp_split_to_array()
语法
这里是 PostgreSQL regexp_split_to_array()
函数的语法:
regexp_split_to_array(string, regex[, flags]) → text[]
参数
string
- 必需的。 一个要拆分的字符串。
regex
- 必需的。 用作分隔符的正则表达式。
flags
- 可选的。 正则表达式的匹配模式。
返回值
PostgreSQL regexp_split_to_array()
函数返回一个数组,该数组中的元素就是字符串 string
按照正则表达式 regex
拆分的所有部分。
如果 regex
为 NULL
,此函数将返回 NULL
。
如果 regex
是一个空字符串,那么整个字符串中的所有字符都将成为结果数组的成员。
如果 null_string
不为 NULL
,那么拆分后的数组中的与它匹配的成员将被替换为 NULL
。
regexp_split_to_array()
示例
这个示例演示了如何使用 regexp_split_to_array()
函数将一个字符串根据分隔符拆分成数组:
SELECT regexp_split_to_array('ab cd ef gh', '\s+');
regexp_split_to_array
-----------------------
{ab,cd,ef,gh}
如果 delimiter
是一个空字符串,那么整个字符串的所有字符都将成为结果数组中的成员。
SELECT regexp_split_to_array('ab,cd', '');
regexp_split_to_array
-----------------------
{a,b,",",c,d}
您可以在参数 flags
中使用 i
标识在使用正则表达式匹配分隔符的时候忽略大小写。比如:
SELECT regexp_split_to_array('AbcdefghabCDefGh', 'cd.', 'i');
regexp_split_to_array
-----------------------
{Ab,fghab,fGh}