我正在使用regexp_split_to_array
通过如下切割空白来分割文本:
select regexp_split_to_array(' this is just me ', '\s+');
这给出了:
{"",this,is,just,me,""}
我想要拥有:
{this,is,just,me}
应用regexp_split_to_array
时是否可以删除开头和结尾的空格?
答案 0 :(得分:1)
我建议采用相反的方法:用\S+
正则表达式模式匹配除空格以外的所有字符:
select regexp_matches(' this is just me ', '\S+', 'g')
请参见online demo。请注意,'g'
参数将启用多个匹配。
如有必要,在正则表达式匹配项上使用unnest
将数组扩展为一组行。
答案 1 :(得分:0)
这应该做到:
SELECT REGEXP_SPLIT_TO_ARRAY(TRIM(' this is just me '), '\s+');
TRIM
(不带参数)将从字符串中remove both leading and trailing whitespace。
答案 2 :(得分:0)
在将字符串传递给trim
函数之前,尝试在字符串上使用regex_split_to_array
:
select regexp_split_to_array(trim(' this is just me '), '\s+');