Reichen Reguläre Ausdrücke da noch aus?



  • Folgendes Szenario:

    Wir haben 2 Tabellen die abgeglichen werden müssen (jaaa meine alte Aufgabe). In Tabelle A gibt es (u. a.) 2 Spalten namens "Name" und "Ort".

    Darin steht u.a. : "Oberhausen Langestr." und "Oberhausen".
    In Tabelle b sieht das so aus: "Langestr." und "Oberhausen" (die fehlerfreie DB)

    Wir schauen nun in B ob es die Inhalte von A gibt. 0 Problemo. einfach Ort aus name entfernen, vergleichen, ggf. insert - fertig.

    In einem anderen Fall:
    "Castr.-Raux. irgendein-name" und "Castrup-Rauxel" nu isses nicht mehr so einfach den Ort rauszuschneiden

    oder
    "Mülh.a.d.R. dingens.-str." und "Mülheim an der Ruhr"

    Reicht es hier mit regulären Ausdrücken zu arbeiten? Oder denkt ihr die Sache is prinzipiell nicht zu lösen?



  • Regläre Audrücken matchen nur das, was exact ihrem Filterkriterium entsprechen.
    Geht also wohl nicht.
    Es gibt andere, viel einfachere, Vergleichsmöglichkeiten für Strings. Gibt sowas wie phoentischen Vergleich, oder longest common part o.ä.. musst du mal googlen.



  • Falls die Abkürzungen alle so aussehen würd' ich einfach nach Punkten durchsuchen und diesen als * wildcard nehmen.
    Das wildcard kannst Du natürlich auch als RegEx benutzen.



  • ich dachte auch daran das so zu machen wie Nuken es vorgeschlagen hat. also die Ausdrücke dynamisch zu erzeugen und dann bei einem match, das zu entfernen was halt übereinstimmte. Dann habe ich den sauberen Namen... glaube ich... schätze ich... hoffe ich...


Anmelden zum Antworten