Пропустить начальные и конечные пробелы - PullRequest
0 голосов
/ 07 января 2019

Я использую 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?

Ответы [ 3 ]

0 голосов
/ 07 января 2019

Я предлагаю обратный подход: сопоставьте любые символы, кроме пробелов, с \S+ шаблоном регулярного выражения:

select regexp_matches('  this   is    just    me   ', '\S+', 'g')

См. онлайн демо . Обратите внимание, что аргумент 'g' разрешит множественное совпадение.

enter image description here

Используйте unnest в совпадениях регулярных выражений, чтобы при необходимости расширить массив до набора строк.

0 голосов
/ 07 января 2019

Попробуйте использовать trim в строке перед передачей ее в regex_split_to_array функцию:

select regexp_split_to_array(trim('  this   is    just    me   '), '\s+');
0 голосов
/ 07 января 2019

Это должно сделать это:

SELECT REGEXP_SPLIT_TO_ARRAY(TRIM('  this   is    just    me   '), '\s+');

TRIM без параметров удалит начальные и конечные пробелы из строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...