Split a English sentence without any spaces nor accents, into words.
npm install wordsninja --save
Load package
const WordsNinjaPack = require('wordsninja');
const WordsNinja = new WordsNinjaPack();
Load dictionary
await WordsNinja.loadDictionary(); // First load dictionary
Add word(s)
WordsNinja.addWords('new word');
Parameters
word
: The word(s) (string|array)
let words = WordsNinja.splitSentence(string, {camelCaseSplitter, capitalizeFirstLetter, joinWords});
Parameters
string
: The string for splitoptions
camelCaseSplitter
: Split by Camel Case, Default isfalse
(optional)capitalizeFirstLetter
: Capitalize First Letter, Default isfalse
(optional)joinWords
: Return join words as sentence, Default isfalse
(optional)
Example
(async () => {
await WordsNinja.loadDictionary(); // First load dictionary
let string = 'youneedtolearnfromyourmistakes';
let words = WordsNinja.splitSentence(string);
console.log(words);
})();
Result
[ 'you', 'need', 'to', 'learn', 'from', 'your', 'mistakes' ]
let string = 'youneedtolearnfromyourmistakes';
let words = WordsNinja.splitSentence(string,
{
camelCaseSplitter: true, // Frist camel case spliting
capitalizeFirstLetter: true, // Capitalize first letter of result
joinWords: true // Join words
}
);
console.log(words);
Result
You Need To Learn From Your Mistakes
You can add new word(s) to dictionary in runtime
WordsNinja.addWords('Parsa'); // Add one word
WordsNinja.addWords(['Parsa', 'Kafi']); // Add one or more words
Example
let string = 'parsayouneedtolearnfromyourmistakes';
WordsNinja.addWords('Parsa');
let words = WordsNinja.splitSentence(string,
{
capitalizeFirstLetter: true, // Capitalize first letter of result
joinWords: true // Join words
}
);
console.log(words);
Result
Parsa You Need To Learn From Your Mistakes
Algorithm from How to split text without spaces into list of words?. List of words from wordninja python package. Camel case splitter based on split-camelcase-to-words package.