Skip to content

Latest commit

 

History

History
124 lines (86 loc) · 2.67 KB

README.md

File metadata and controls

124 lines (86 loc) · 2.67 KB

WordsNinja

Split a English sentence without any spaces nor accents, into words.

https://nodei.co/npm/wordsninja.png?downloads=true&downloadRank=true&stars=true

Install

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)

Split sentence

let words = WordsNinja.splitSentence(string, {camelCaseSplitter, capitalizeFirstLetter, joinWords});

Parameters

  • string: The string for split
  • options
    • camelCaseSplitter: Split by Camel Case, Default is false (optional)
    • capitalizeFirstLetter: Capitalize First Letter, Default is false (optional)
    • joinWords: Return join words as sentence, Default is false (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' ]

More options

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

Add Word(s)

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

Acknowledgement

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.