Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
string-similarity-score
Advanced tools
Finds degree of similarity between strings, based on Dice's Coefficient, which is mostly better than Levenshtein distance.
Finds degree of similarity (Percentage or score) between two strings, based on Dice's Coefficient, which is mostly better than Levenshtein distance.
Install using:
npm install string-similarity-score --save
In your code:
var stringSimilarity = require("string-similarity-score");
var similarity = stringSimilarity.compareTwoStrings("healed", "sealed");
var matches = stringSimilarity.findBestMatch("healed", [
"edward",
"sealed",
"theatre",
]);
The package contains two methods:
Returns a fraction between 0 and 1, which indicates the degree of similarity between the two strings. 0 indicates completely different strings, 100 indicates identical strings. The comparison is case-sensitive.
Order does not make a difference.
(number): A Percentage from 0 to 100, both inclusive. Higher number indicates more similarity.
stringSimilarity.compareTwoStrings("healed", "sealed");
// → 80
stringSimilarity.compareTwoStrings(
"Olive-green table for sale, in extremely good condition.",
"For sale: table in very good condition, olive green in colour."
);
// → 60
stringSimilarity.compareTwoStrings(
"Olive-green table for sale, in extremely good condition.",
"For sale: green Subaru Impreza, 210,000 miles"
);
// → 25
stringSimilarity.compareTwoStrings(
"Olive-green table for sale, in extremely good condition.",
"Wanted: mountain bike with at least 21 gears."
);
// → 14
Compares mainString
against each string in targetStrings
.
(Object): An object with a ratings
property, which gives a similarity rating for each target string, a bestMatch
property, which specifies which target string was most similar to the main string, and a bestMatchIndex
property, which specifies the index of the bestMatch in the targetStrings array.
stringSimilarity.findBestMatch('Olive-green table for sale, in extremely good condition.', [
'For sale: green Subaru Impreza, 210,000 miles',
'For sale: table in very good condition, olive green in colour.',
'Wanted: mountain bike with at least 21 gears.'
]);
// →
{ ratings:
[ { target: 'For sale: green Subaru Impreza, 210,000 miles',
rating: 25 },
{ target: 'For sale: table in very good condition, olive green in colour.',
rating: 60 },
{ target: 'Wanted: mountain bike with at least 21 gears.',
rating: 14 } ],
bestMatch:
{ target: 'For sale: table in very good condition, olive green in colour.',
rating: 60 },
bestMatchIndex: 1
}
FAQs
Finds degree of similarity between strings, based on Dice's Coefficient, which is mostly better than Levenshtein distance.
We found that string-similarity-score demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.