Do you need to pad a String either to left or right using Dart? Find out in this tutorial.
Sometimes it's necessary to pad a String so that it has at least a certain minimum of length. In Dart, it's very easy to do it by using
padRight which adds character padding on the left and right side respectively.
It is used to pad left a String if it's shorter than the specified
width. By default
String padLeft(int width, [String padding = ' ']);
For example, there is a String with 6 characters.
String s = "woolha"; // A1 print(s.padLeft(10)); // ' woolha' // A2 print(s.padLeft(10, '.')); // '....woolha' // A3 print(s.padLeft(10, ',.*')); // ',.*,.*,.*,.*woolha' // A4 print(s.padLeft(3, '.')); // 'woolha'
In the example A1, as
padding option is not passed, the default character (space) is used. As it has 6 characters, it means 4 more is needed to make it 10. Therefore, there are 4 spaces added at the front.
In the example A2,
. is set as the padding character replacing space.
In the example A3, multiple characters is passed. As you can see, the result becomes more than 10 characters as the multi-char String is also added 4 times.
In the example A4, the
width is lower than the length of the String. As the result, nothing is added and the length remains 6. Setting the
width value to be lower than
0 will result the same as it will be treated as
padRight is used to add padding character on the right. It has the same parameters:
String padRight(int width, [String padding = ' ']);
print(s.padRight(10)); // 'woolha ' print(s.padRight(10, '.')); // 'woolha....' print(s.padRight(10, ',.*')); // 'woolha,.*,.*,.*,.*' print(s.padRight(3, '.')); // 'woolha'
Apart from where the padding characters are added, the behavior is the same as
padLeft, so I will not explain it again.
If the String can be
null, it's better to use null-aware operator by adding
. (dot). It will return
null if the String is
String x = null; print(x?.padLeft(10, '.'));