A Typescript port of Python flashtext package.
This module can be used to replace keywords in sentences or extract keywords from sentences. It is based on the FlashText algorithm.
npm install flashtext-ts
yarn add flashtext-ts
pnpm add flashtext-ts
const flashtext = new FlashText();
flashtext.addKeyword('Big Apple', 'New York');
flashtext.addKeyword('Bay Area');
const keywordsExtracted = flashtext.extractKeywords('I love Big Apple and Bay Area.');
// keywordsExtracted = ['New York', 'Bay Area']
const flashtext = new FlashText();
flashtext.addKeyword('Big Apple', 'New York');
flashtext.addKeyword('Bay Area', '6ay Area');
const newSentence = flashtext.replaceKeywords('I love Big Apple and Bay Area.');
// newSentence = I love New York and 6ay Area.
const flashtext = new FlashText(true);
flashtext.addKeyword('Big Apple', 'New York');
flashtext.addKeyword('Bay Area');
const keywordsExtracted = flashtext.extractKeywords('I love big Apple and Bay Area.');
// keywordsExtracted = ['Bay Area']
const flashtext = new FlashText();
flashtext.addKeyword('Big Apple', 'New York');
flashtext.addKeyword('Bay Area');
const keywordsExtracted = flashtext.extractKeywords('I love Big Apple and Bay Area.', true);
/*
keywordsExtracted = [
['New York', 7, 16],
['Bay Area', 21, 29]
]
*/
const flashtext = new FlashText();
const keywordMap = {
"javascript": ["JS", "JScript"],
"typescript": ["TS", "TScript"],
};
flashtext.addKeywordsFromDict(keywordMap);
flashtext.addKeywordsFromList(["coffeescript", "programming"]);
const keywordsExtracted = flashtext.extractKeywords("I know JS, TS, Coffeescript and just know how to do programming stuff.");
// keywordsExtracted = ['javascript', 'typescript', 'coffeescript', 'programming']
const flashtext = new FlashText();
const keywordMap = {
"javascript": ["JS", "JScript"],
"typescript": ["TS", "TScript"],
};
flashtext.addKeywordsFromDict(keywordMap);
flashtext.addKeywordsFromList(["coffeescript", "programming"]);
flashtext.removeKeyword("JS");
flashtext.removeKeywordsFromDict({ JS: ["JScript"] });
flashtext.removeKeywordsFromList(["programming", "coffeescript"]);
const keywordsExtracted = flashtext.extractKeywords("I know JS, TS, Coffeescript and just know how to do programming stuff.");
// keywordsExtracted = ['typescript']
const flashtext = new FlashText();
const keywordMap = {
"javascript": ["JS", "JScript"],
"typescript": ["TS", "TScript"],
};
flashtext.addKeywordsFromDict(keywordMap);
const length = flashtext.length;
// length = 4
const flashtext = new FlashText();
const keywordMap = {
"javascript": ["JS", "JScript"],
"typescript": ["TS", "TScript"],
};
flashtext.addKeywordsFromDict(keywordMap);
flashtext.getKeyword('JS'); // "javascript"
flashtext.contains('TS'); // true
const flashtext = new FlashText();
const keywordMap = {
"javascript": ["JS", "JScript"],
"typescript": ["TS", "TScript"],
};
flashtext.addKeywordsFromDict(keywordMap);
const keywords = flashtext.getAllKeywords();
/*
keywords = {
"js": "javascript",
"jscript": "javascript",
"ts": "typescript",
"tscript": "typescript"
}
*/
const flashtext = new FlashText();
flashtext.addKeyword('Big Apple');
flashtext.extractKeywords('I love Big Apple/Bay Area.'); // ['Big Apple']
flashtext.addNonWordBoundary('/');
flashtext.extractKeywords('I love Big Apple/Bay Area.'); // []
npm run test
yarn test
pnpm test
The project is licensed under the MIT license.