Left pad a string.
var lpad = require( '@stdlib/string/base/left-pad' );Left pads a string such that the padded string has a length of at least len.
var str = lpad( 'a', 5, ' ' );
// returns ' a'
str = lpad( 'beep', 10, 'b' );
// returns 'bbbbbbbeep'
str = lpad( 'boop', 12, 'beep' );
// returns 'beepbeepboop'-
An output string is not guaranteed to have a length of exactly
len, but to have a length of at leastlen. To generate a padded string having a length equal tolenvar str = lpad( 'boop', 10, 'beep' ); // => length 12 // returns 'beepbeepboop' str = str.substring( str.length-10 ); // => length 10 // returns 'epbeepboop'
-
This function differs from
String.prototype.padStartin the following ways:- The function is not guaranteed to return a string having a length exactly equal to
len(as explained above). - The function does not truncate
pad(from the end) in order to ensure the returned string has lengthlen.
To replicate
String.prototype.padStarttruncation behaviorvar floorb = require( '@stdlib/math/base/special/floorb' ); function padStart( str, len, pad ) { var n; if ( len <= str.length ) { return str; } n = floorb( len-str.length, 1, pad.length ) + str.length; return pad.substring( 0, len-n ) + lpad( str, n, pad ); } var str = padStart( 'boop', 10, 'beep' ); // returns 'bebeepboop'
- The function is not guaranteed to return a string having a length exactly equal to
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' );
var lpad = require( '@stdlib/string/base/left-pad' );
var str = 'beep';
var i;
for ( i = 0; i < 100; i++ ) {
console.log( lpad( str, discreteUniform( str.length, str.length+10 ), 'b' ) );
}