RegEx Code Anpassen

  • C#

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von K_M_M_K.

    RegEx Code Anpassen

    Hallo liebe User,

    mit RegEx kenne ich mich absolut nicht aus und habe dem entsprechend Probleme damit.
    Ist es möglich eine -sozusagen- if then Regel zu erstellen für RegEx?

    Ich habe eine TabellenWebseite von der ich die Daten in eine txt Datei kopieren möchte.
    Soweit alles Dank Hilfe geschafft, Programm funktioniert.

    Aber leider ist auf der Webseite ca jeder 10 Eintrag mit zwei Semikolons ausgestattet, was mir alles kaputt macht.
    Das letzte Semikolon ist immer maßgebend.



    Ich hoffe ich konnte mich gut ausdrücken.

    lg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „K_M_M_K“ ()

    @K_M_M_K Wie wäre es mit MyString.LastIndexOf(...)?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    RodFromGermany schrieb:

    @K_M_M_K Wie wäre es mit MyString.LastIndexOf(...)?


    Vielen Dank für die schnelle Antwort.
    Ich schau mal was ich damit anfangen kann und sobald ich etwas mehr weiss melde ich mich :)

    lg


    edit:

    Leider hat es mir persönlich nichts gebracht. Evtl ein weiterer Ratschlag?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „K_M_M_K“ ()

    @K_M_M_K Poste mal einen Auszug aus der Tabelle und markiere den Zielstring.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    HTML-Quellcode

    1. <td class="browse_cell left">
    2. <b>Essays. </b>
    3. / Ellen Key, 1849-1926.
    4. -- Berlin : S. Fischer Verlag, 1899. 344 s. ; 19 cm. <br>1. <span class="highlight">Evlilik</span> 2. Edebiyatçılar, İsveç 3. <br><span class="highlight">Almanca</span> </td>

    Essays. / Ellen Key, 1849-1926. -- Berlin : S. Fischer Verlag, 1899. 344 s. ; 19 cm.
    Mit dem Funktionierts einwandfrei, weil der nur ein ';' hat

    Aber Bei Zeilen wie:

    HTML-Quellcode

    1. <td class="browse_cell left">
    2. <b>Das Erzaehlerische Werk der Autorin Sevgi Soysal : 1936-1976. </b>
    3. / Priska Furrer ; herausgegeben Gerd Winkelhane.
    4. -- Berlin ; Klaus Schwarz Verlag, 1992. II, 240 s. ; 24 cm. -- (untersuchungen ; 148) Matbu tez (Doktora) <br>1. Soysal, Sevgi_Biyografya 2. Alm hikaye ve romanı <br><span class="highlight">Almanca</span> </td>
    5. </tr>

    Bei mehreren wirds kritisch, da trennt der nicht mehr gescheit.
    Wie gesagt das letzte ist das wichtigste.


    lg
    Das letzte findest Du mit .LastIndexOf(";"c).
    Wie ist die Grenze zwischen solchen Blöcken definiert? Beim zweiten hängt was anderes dran.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hallo miteinander.

    Hab schon ewig keinen gescheiten Kommentar mehr hier im Forum liegen lassen. Und mit Regex hatte ich auch seit bald einem Jahr keine zärtlichen Berührungen ausgetauscht(XD).
    Nun denn, let's go. *lässt die Finger knacksen*
    Dieses Pattern spuckt mir in beiden Fällen den von dir gesuchten String aus. Musst aber die Option SingleLine auswählen und dann beim Match die Gruppen Type und Info extrahieren und aneinanderfügen. Der Rest sollte funktionieren:

    Quellcode

    1. (?<=<td class="browse_cell left">[^>]*?<b>)(?<Type>.*?)</b>(?<Info>.*?cm.)(?= -- [^<]*?<br>|[^<]*?<br>)


    Grüsse,

    Higlav