@jondotsoy/splitg
v0.4.8
Published
Splits a string into an array of strings, handling spaces and quotes correctly.
Downloads
604
Maintainers
Readme
splitg
Splits a string into an array of strings, handling spaces and quotes correctly.
splitg(`abc def g`); // => [`abc`, `def`, `g`]
splitg(`run -c "command to run"`); // => [`run`, `-c`, `"command to run"`]
splitg(`this is a json { "name": "ok" } with a property name`); // => [`this`, `is`, `a`, `json`, `{ "name": "ok" }`, `with`, `a`, `property`, `name`]
// Complex sample:
splitg(
`{ "name": "freed" }\n[ "name", "freed" ]\n[ [ "name", "freed" ],\n[ "age", 44 ] ]`,
"\n",
);
// => [
// '{ "name": "freed" }',
// '[ "name", "freed" ]',
// '[ [ "name", "freed" ],\n[ "age", 44 ] ]',
// ]
Try it here https://jondotsoy.github.io/splitg/
Usage
Install the package @jondotsoy/splitg:
npm i @jondotsoy/splitg
Custom Delimiters
You can specify a custom delimiter to use when splitting the string. This allows you to split strings based on characters other than spaces. The delimiter can be a single character or a string. Quoted strings are still handled correctly, even if they contain the delimiter.
If you pass a delimiter, the function will split the string using that delimiter instead of spaces.
Example:
splitg(`abc~def~g`, "~"); // => [`abc`, `def`, `g`]
Custom Brackets
Example:
splitg(`abc <def ghi> [jkl mno]`, {
brackets: [["<", ">"]],
}); // => [`abc`, `<def ghi>`, `[jkl`, `mno]`]
Multiple splitters
Example:
splitg(`abc~def ghi jkl~mno`, {
splitters: ["~", " "],
}); // => [`abc`, `def`, `ghi`, `jkl`, `mno]`]
License
This project is licensed under the MIT License - see the LICENSE file for details.