Musik Titel vergleichen / Regular Expression ?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Brok
User
Beiträge: 6
Registriert: Donnerstag 30. August 2007, 16:23

Hallo

ich möchte in Python 2 strings miteinander vergleichen.

Meine Daten liegen in 2 Dateien vor ich eingelesen habe ( sind natürlich mehr als hier aufgelistet sind )

Datei 1 z.b.)
Böhse Onkelz - Viva Los Tioz - Terpentin - 192kbit - 1997
Rammstein - Mutter - Feuer Frei - 192kbit - unknown

Datei 2 z.b.)
boehse_onkels - viva los tioz - terpentin - 192kbit - 1997
EAV - Neandertal - ........

Ok für mich als Mensch ist klar dass "EAV Neandertal" nicht in Datei 1 vorkommt, "Terpentin" jedoch in beiden Dateien.

Wie mache ich das jetzt meinem Python Programm klar? Ich weiß dass das nicht 100% passen kann aber ich würde es gerne eingrenzen.

mit lower() und replace(" ", "_") sowie die umlaute kann ich mal kleinigkeiten entfernen
Wie behandle ich aber Ähnlichkeiten?

Hilft mir hier dieses Regular Expression?
Wenn ich:

Code: Alles auswählen


# Datei 1, Datensatz 1

import re
obj = re.compile("boehse_onkelz")
match  = re.match(obj, "boehse_onkels")

würde ich ja nichts bekommen weil einmal mit z geschrieben und einmal mit s

Aber wenn ich das wie bei einer Suchmaschine mit * ersetzen könnte wäre es praktisch, was allerdings ein neues Problem aufwirft und zwar was setz ich zwischen die sternchen zum starten?

Kann mir jemand helfen oder geht das garnicht ( was ich leider befürchte )
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Vielleicht hilft Dir das Standard-Modul difflib.
MfG
HWK
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wenn du es selber Programmieren möchtest, dann ist die Levenshtein-Distanz oder gleich allgemeiner ein guter Ansatzpunkt zur Suche. Sonst ist natürlich das von HWK vorgeschlagene Modul die richtige Wahl.
Das Leben ist wie ein Tennisball.
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

Das fällt mir dazu grad spontan ein
:wink:
Hoffe ich konnte helfen
Antworten