Skip to content

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

License

Notifications You must be signed in to change notification settings

parsakafi/wordsninja

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published