XSoundex 1.0.0

dotnet add package XSoundex --version 1.0.0                
NuGet\Install-Package XSoundex -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XSoundex" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XSoundex --version 1.0.0                
#r "nuget: XSoundex, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install XSoundex as a Cake Addin
#addin nuget:?package=XSoundex&version=1.0.0

// Install XSoundex as a Cake Tool
#tool nuget:?package=XSoundex&version=1.0.0                

Soundex✔️

Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for homophones to be encoded to the same representation so that they can be matched despite minor differences in spelling. The algorithm mainly encodes consonants; a vowel will not be encoded unless it is the first letter. Soundex is the most widely known of all phonetic algorithms (in part because it is a standard feature of popular database software such as IBM Db2, PostgreSQL, MySQL, SQLite, Ingres, MS SQL Server,Oracle. and SAP ASE.) Improvements to Soundex are the basis for many modern phonetic algorithms. Source

What is Xsoundex✔️

Xsoundex is small .Net library to make usage of this algorithm simpler. The Good Part of this library is that it's language agnostic and with add a new and small changes (like adding a small resource) you can have it in your language! The result can use the default culture of system, or you provide it explicitly!

Demo✔️

See the Demo in multilanguage (English and Persian) HERE

How can I use it!✔️

No need for any DI! Just add the nuget package to your project!

  1. Generate a code from text :
"Hussein".ToSoundex() // uses the current culture of system

"Hussein".ToSoundex("en-US") // explictly tell the culture
  1. Provide the soundex code from SQL SERVER!
SELECT SOUNDEX("Hussein") // Give you the soundex in your Database

You can generate your result in memory on the back-end, or get the result in SQL Server and compare it in your application.

lists.Where(x => x.Key == text.ToSoundex())

OR

"Hussein".HasTheSameSoundex("Hossein")

AND 

"Hussein".HasTheSameSoundex("Hossein","en-US")

Contribute✔️

This Algorithm is based on the original algorithm and can be so much better, so:

  1. open a Pull Request 🌠
  2. give a STAR ⭐ (that would help a lot!)
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net7.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on XSoundex:

Package Downloads
FluentSimilarity

FluentSimilarity: A flexible and fluent API for comparing object properties, supporting string, numeric, and date-based similarity calculations with customizable rules.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 4,781 1/3/2023