0

Suppose I have a string such as:

abcdefghi

and I would like to reformat it as:

abc def ghi

(that is, I have added some formatting spaces to the string).

Is there a PostgreSQL function which will do that? Something like:

reformat(abcdefghi,'xxx xxx xxx')

I know there isn’t the above function, but there might be a built in function to do something like that.

If not, I am happy to write such a function, but I though I would check.

2
  • 2
    So you want to add a space after three characters? Does it need to work with any length (so abcdefghijklmno will beabc def ghi jkl mno). What should happen if the string length is not a multiple of 3? Commented Mar 27, 2018 at 11:29
  • String Functions and Operators section of the documentation lists all related functions. You can use either regexp_replace or format function for this kind of problems. Commented Mar 27, 2018 at 12:15

1 Answer 1

0

Use regexp_replace

SELECT regexp_replace('abcdefghiabcdefghi', '(.{3})', '\1 ', 'g');
      regexp_replace      
--------------------------
 abc def ghi abc def ghi 
(1 row)

This inserts a space every three characters.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.