So lassen sich auch in C# Wörter mit Soundex kodieren

Soundex ist ein Algorithmus, der Wörter in ihrer Aussprache entsprechende Zeichenfolgen umwandelt. Das eröffnet die Möglichkeit, Wörter auf der Grundlage ihrer Aussprache und nicht nach ihren binären Übereinstimmungen zu vergleichen. Soundex wurde für englische Wörter entwickelt, erzielt aber auch im Deutschen in vielen Fällen gute Ergebnisse, wie Wikipedia bestätigt.

Im Englischen werden beispielsweise Zach und Zack genau gleich ausgesprochen. Doch die Zeichenfolge „Zach“ und die Zeichenfolge „Zack“ sind nicht identisch. Das heißt, eine normale Abfrage würde bei diesem Paar keine Übereinstimmung feststellen. Laufen jedoch „Zach“ und „Zack“ durch Soundex, so fällt auf, dass sie eine identische Kodierung aufweisen:

  • Zach wird als „Z200“ kodiert.
  • Zack wird ebenfalls als „Z200“ kodiert.

Das Ganze funktioniert nach folgendem Prinzip: Zuerst wird die Zeichenfolge in einzelne Zeichen aufgebrochen. Dann wird jedem Zeichen ein Wert zugeordnet. Der Algorithmus arbeitet dabei nach diesen Regeln:

  • Der erste Buchstabe der Kodierung ist immer der erste Buchstabe der Zeichenfolge.
  • Die Buchstaben a, e, h, I, o, u, w und y werden ignoriert, außer am Wortanfang.
  • Folgende Tabelle ordnet den verbleibenden Buchstaben ihre jeweilige Codierung zu:
    • 1 steht für b, f, p und v
    • 2 steht für c, g, j, k, q, s, x und z
    • 3 steht für d und t
    • 4 steht für l
    • 5 steht für m und n
    • 6 steht für r
  • Aufeinanderfolgende Buchstaben mit identischer Kodierung sind zu ignorieren. Die Buchstabenfolge „BB“ beispielsweise würde zu „1“ kodiert. Die Buchstabenfolge „BAB“ würde ebenfalls zu „1“ kodiert, da das A ignoriert wird.
  • Eine Kodierung muss immer aus vier Zeichen bestehen. Wird diese Zahl überschritten, so ist die Kodierung nach der vierten Stelle zu beschneiden. Ist sie kürzer als vier Zeichen, so werden die restlichen Stellen mit Nullen gefüllt.

Hier einige Beispiele für Kodierungen, die mit diesem Algorithmus erstellt wurden:

  • Donald – D543
  • Zach – Z200
  • Campbel – C514
  • Cammmppppbbbeeelll – C514
  • David – D130

Es bleibt zu erwähnen, dass Soundex nicht zwischen Groß- und Kleinschreibung unterscheidet. Die Codierungen von „ZACH“ und „zAcH“ sind also identisch.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Digitale Souveränität: Provider entwickeln API-Standard

Lösung soll den Aufbau des EuroStacks unterstützen, der Europas souveräne digitale Infrastruktur werden soll.

1 Stunde ago

FlexiSpot als eine der „The Major German Brands 2025“ ausgezeichnet

Auszeichnung unterstreicht das Engagement von FlexiSpot für nachhaltiges und ergonomisches Design sowie seinen Beitrag zur…

2 Tagen ago

Test: Ergonomischer Bürostuhl Doro C300 von SIHOO punktet durch Tracking der Bewegungen

Der Büro- und Gamerstuhl erkennt Gewicht der Nutzer und unterstützt Lendenwirbel und Nacken in jeder…

4 Tagen ago

Bericht: Faltbares iPhone kommt frühestens 2026

Der Analyst Ming-Chi Kuo geht von einem Preis zwischen 2000 und 2500 Dollar aus. Trotzdem…

4 Tagen ago

Trojaner-Angriffe verdreifacht

Kaspersky meldet starke Zunahme mobiler Banking-Trojaner. Insgesamt 33,3 Millionen Angriffe auf mobile Nutzer im Jahr…

5 Tagen ago

Höherer Durchsatz in Glasfasernetzen

Optische Schalter mit Flüssigkristallspiegeln sollen die Datenpakete so stark verkleinern, dass mehr Daten durchs Netz…

5 Tagen ago