Socket
Socket
Sign inDemoInstall

string-similarity

Package Overview
Dependencies
1
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    string-similarity

Finds degree of similarity between strings, based on Dice's Coefficient, which is mostly better than Levenshtein distance.


Version published
Weekly downloads
1.2M
decreased by-24.94%
Maintainers
1
Install size
1.35 MB
Created
Weekly downloads
 

Package description

What is string-similarity?

The string-similarity npm package provides functions to find the similarity between strings and to find the best match among a set of strings compared to a target string. It uses various algorithms to calculate a similarity score and can be used in applications such as fuzzy matching, search optimizations, and data deduplication.

What are string-similarity's main functionalities?

Comparing two strings for similarity

This feature allows you to compare two strings and get a similarity score between 0 and 1, where 1 means the strings are identical.

const stringSimilarity = require('string-similarity');
const similarity = stringSimilarity.compareTwoStrings('string1', 'string2');

Finding the best match in an array of strings

This feature allows you to compare a target string against an array of strings and find the one that is most similar to the target. It returns an object with the best match and ratings for all strings.

const stringSimilarity = require('string-similarity');
const matches = stringSimilarity.findBestMatch('string', ['string1', 'string2', 'string3']);

Other packages similar to string-similarity

Readme

Source

string-similarity

Finds degree of similarity between two strings, based on Dice's Coefficient, which is mostly better than Levenshtein distance.

Usage

Install using:

npm install string-similarity --save

In your code:

var stringSimilarity = require('string-similarity');

var similarity = stringSimilarity.compareTwoStrings('healed', 'sealed'); 

var matches = stringSimilarity.findBestMatch('healed', ['edward', 'sealed', 'theatre']);

API

Requiring the module gives an object with two methods:

compareTwoStrings(string1, string2)

Returns a fraction between 0 and 1, which indicates the degree of similarity between the two strings. 0 indicates completely different strings, 1 indicates identical strings. The comparison is case-insensitive.

Arguments
  1. string1 (string): The first string
  2. string2 (string): The second string

Order does not make a difference.

Returns

(number): A fraction from 0 to 1, both inclusive. Higher number indicates more similarity.

Examples
stringSimilarity.compareTwoStrings('healed', 'sealed');
// → 0.8

stringSimilarity.compareTwoStrings('Olive-green table for sale, in extremely good condition.', 
  'For sale: table in very good  condition, olive green in colour.');
// → 0.7073170731707317

stringSimilarity.compareTwoStrings('Olive-green table for sale, in extremely good condition.', 
  'For sale: green Subaru Impreza, 210,000 miles');
// → 0.3013698630136986

stringSimilarity.compareTwoStrings('Olive-green table for sale, in extremely good condition.', 
  'Wanted: mountain bike with at least 21 gears.');
// → 0.11267605633802817

findBestMatch(mainString, targetStrings)

Compares mainString against each string in targetStrings.

Arguments
  1. mainString (string): The string to match each target string against.
  2. targetStrings (Array): Each string in this array will be matched against the main string.
Returns

(Object): An object with a ratings property, which gives a similarity rating for each target string, and a bestMatch property, which specifies which target string was most similar to the main string.

Examples
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: 0.3013698630136986 },
     { target: 'For sale: table in very good condition, olive green in colour.',
       rating: 0.7073170731707317 },
     { target: 'Wanted: mountain bike with at least 21 gears.',
       rating: 0.11267605633802817 } ],
  bestMatch:
   { target: 'For sale: table in very good condition, olive green in colour.',
     rating: 0.7073170731707317 } }

##Build Status Build status

Keywords

FAQs

Last updated on 22 May 2017

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc