Musik Titel vergleichen / Regular Expression ?
Verfasst: Montag 3. August 2009, 16:57
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:
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 )