lpad
Left pad a string.
Usage
var lpad = require( '@stdlib/string/base/left-pad' );
lpad( str, len, 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'
Notes
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 tolen
var str = lpad( 'boop', 10, 'beep' ); // => length 12 // returns 'beepbeepboop' str = str.substring( 0, 10 ); // => length 10 // returns 'beepbeepbo' str = str.substring( str.length-10 ); // => length 10 // returns 'epbeepboop'
This function differs from
String.prototype.padStart
in 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.padStart
truncation 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
Examples
var discreteUniform = require( '@stdlib/random/array/discrete-uniform' );
var papply = require( '@stdlib/utils/papply' );
var papplyRight = require( '@stdlib/utils/papply-right' );
var naryFunction = require( '@stdlib/utils/nary-function' );
var map = require( '@stdlib/utils/map' );
var logEach = require( '@stdlib/console/log-each' );
var lpad = require( '@stdlib/string/base/left-pad' );
// Define a string to pad:
var str = 'beep';
// Generate random lengths:
var lens = discreteUniform( 10, str.length, str.length+10 );
// Create a function for creating padded strings:
var fcn = naryFunction( papply( papplyRight( lpad, 'b' ), str ), 1 );
// Generate padded strings:
var out = map( lens, fcn );
// Print results:
logEach( '%s', out );