# formatTokenize
> Tokenize a string into an array of string parts and format identifier objects.
## Usage
```javascript
var formatTokenize = require( '@stdlib/string/base/format-tokenize' );
```
#### formatTokenize( str )
Tokenizes a string into an array of string parts and format identifier objects.
```javascript
var str = 'Hello, %s! My name is %s.';
var out = formatTokenize( str );
// returns [ 'Hello, ', {...}, '! My name is ', {...}, '.' ]
```
The format identifier objects 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 out = formatTokenize( 'Hello %s!' );
// returns [ 'Hello ', {...}, '!' ]
out = formatTokenize( 'Pi: ~%.2f' );
// returns [ 'Pi: ~', {...} ]
out = formatTokenize( 'Multiple flags: %#+s' );
// returns [ 'Foo ', {...} ]
```