# formatInterpolate > Generate string from a token array by interpolating values.
## Usage ```javascript var formatInterpolate = require( '@stdlib/string/base/format-interpolate' ); ``` #### formatInterpolate( tokens, ...args ) Generates string from a token array by interpolating values. ```javascript var formatTokenize = require( '@stdlib/string/base/format-tokenize' ); var str = 'Hello, %s! My name is %s.'; var tokens = formatTokenize( str ); var out = formatInterpolate( tokens, 'World', 'Bob' ); // returns 'Hello, World! My name is Bob.' ``` The array of `tokens` should contain string parts and format identifier objects. ```javascript var tokens = [ 'beep ', { 'specifier': 's' } ]; var out = formatInterpolate( tokens, 'boop' ); // returns 'beep boop' ``` Format identifier objects can have the following properties: | property | description | | --------- | --------------------------------------------------------------------------------------------------- | | specifier | format specifier (one of 's', 'c', 'd', 'i', 'u', 'b', 'o', 'x', 'X', 'e', 'E', 'f', 'F', 'g', 'G') | | flags | format flags (string with any of '0', ' ', '+', '-', '#') | | width | minimum field width (integer or `'*'`) | | precision | precision (integer or `'*'`) | | mapping | positional mapping from format specifier to argument index |
## Examples ```javascript var formatTokenize = require( '@stdlib/string/base/format-tokenize' ); var PI = require( '@stdlib/constants/float64/pi' ); var formatInterpolate = require( '@stdlib/string/base/format-interpolate' ); var tokens = formatTokenize( 'Hello %s!' ); var out = formatInterpolate( tokens, 'World' ); // returns 'Hello World!' tokens = formatTokenize( 'Pi: ~%.2f' ); out = formatInterpolate( tokens, PI ); // returns 'Pi: ~3.14' tokens = formatTokenize( 'Index: %d, Value: %s' ); out = formatInterpolate( tokens, 0, 'foo' ); // returns 'Index: 0, Value: foo' ```