Works like String.prototype.replace but outputs an array. Useful for replacing parts of the string with objects of other types.
npm install string-replace-to-array




Works just like String.prototype.replace but outputs an array instead of a string. It's tiny (<1KB) and has no dependencies.
We built this for use with React, but it's very generic and doesn't depend on any environment. Consider the following scenario.
Given this string:
```
var content = 'Hello\nworld'
and this React markup:
``
{ content }
We'll get this output:
``
Hello world
_The newline character is ignored when the browser renders the resulting html._
The solution is to replace \n with :
``
{ replace(content, '\n',
) }
and the output will be:
``
Helloworld`
When rendered:`
Hello
world
Now the newline will be rendered properly. Yay!
``
var replace = require('string-replace-to-array')
replace('Hello Amy', 'Amy', { name: 'Amy' })
// output: ['Hello ', { name: 'Amy' }]
`
replace(
'Hello Hermione Granger...',
/(Hermione) (Granger)/g,
function (fullName, firstName, lastName, offset, string) {
return
}
)
// output: ['Hello ',
`
For a real-life example check out react-easy-emoji, where this this is used to replace emoji unicode characters with tags.
``
npm install --save string-replace-to-array
``
(string, regexp|substr, newValue|function) => array
The API mimics String.prototype.replace. The only differences are:
- The replacer (third parameter) doesn't have to be a string
- Returns an array instead of a string
Mainly inspired by this conversation: https://github.com/facebook/react/issues/3386
Because we needed the full API of String.replace`, especially the regex match parameters which get passed to the replace function.