Split a English sentence without any spaces nor accents, into words.
npm install wordsninja --saveLoad package
const WordsNinjaPack = require('wordsninja');
const WordsNinja = new WordsNinjaPack();Load dictionary
await WordsNinja.loadDictionary(); // First load dictionaryAdd 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 splitoptionscamelCaseSplitter: 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 wordsExample
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.