Erlang Central

Aligning Strings

From ErlangCentral Wiki


You want to align a string, left, right, or center. You might use this when generating reports, for example.


The easiest solution is to use the string module, which solves the left and right padding issues.

1> io:fwrite("|~s|~s|~n", [string:left("Title",20),string:right("Price",10)]).
|Title               |     Price|
2> io:fwrite("|~s|~n",[string:centre("Fabulous",25)]).
|        Fabulous         |

left and right both default to using '$ ' (the space character) as the padding character; you may override this by providing the character in the third argument. The left and right functions also truncate the string if it's longer than the specified field width, but centre generates an error in that case.