Erlang Central

Difference between revisions of "Aligning Strings"

From ErlangCentral Wiki

 
m (Reverted edits by Kaiserpanda (Talk); changed back to last version by 213.171.204.166)
(One intermediate revision by one user not shown)

Revision as of 08:50, 4 December 2006

Problem

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

Solution

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|
ok
2> io:fwrite("|~s|~n", [ string:centre("Fabulous", 25) ]).
|        Fabulous         |
ok

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.