Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

6 Position eines Zeichen im Text auslese

6 Position eines Zeichen im Text auslese
20.04.2020 22:55:51
Siegfried
Hallo Steffen,
habe mich einmal etwas in Regex versucht, nach langem Suchen im WEB und lesen so das mir der Kopf raucht, konnte ich Teilerfolge erzielen.
Wie gesagt TEILERFOLGE, mir wird nur der Teil angezeigt den ich suchen habe lassen bis zum nächsten „;“. Es fehlt mir aber jener Teil vom vorhergehenden „;“§ bis zum Suchbegriff.
Habe hin und her probiert fand aber die Lösung leider nicht, könntest du dir einmal den Script Bitte ansehen.
In Spalte „K“ besteht nach wie vor das Problem mit Texten die unter Namen Zahlen enthalten und daher nicht die gewünschte TelNr. bringt.
In den Spalten „Q“ bis „V“ hätte ich also die Restlichen Auswertungen, aber leider nur mit dem Such Teil und nicht den vollen Inhalt der Suche.
In der Spalte „V“ mit dem Suchbegriff „uschen“ für Duschen bringt er natürlich auch vier welche im Namen „Buschenschank“ stehen haben, wie könnte man das unterbinden?
Hoffe werde irgendwann einmal mit Regex zurechtkommen.
  • Option Explicit
    Function getstring(text, Optional Titel)
    Dim strpattern$
    getstring = ""
    Select Case LCase(Titel)
    Case "name": strpattern = "\]([A-zöäüßèáâéšíøåæê!\s\(\)\-\–\/\d\.\+\*\~\'\#\_\,\:]+)[;\[ _
    Case "plz_ort": strpattern = "\[([A-zöäüßøåæê\s\W]+\d*)\]$"
    Case "strasse": strpattern = ";\s*([A-zöäüßèáâéšíøåæê\s\(\)\,\.\-\-\\\/\d]+)\["
    Case "tel": strpattern = "[\sA-z\.\:]*(\+*\d*[\-\/\(\s]*\d+[\-\-\/\)\s\d]*\d{2,}[\d\s\-\ _
    /]*\d+[\sA-z\.\:]*[\sA-z\.\:]*\+*\d*[\-\/\(\s]*\d*[\-\/\)\s\d]*\d{2,}[\d\s\-\/]*\d*)"
    Case "mail": strpattern = "\b([^\s]+@[^\s]+\.\w+)\b"
    Case "preis": strpattern = "(\d+\.\d\d\s*EUR.*?);"
    Case "offen": strpattern = "((offen|(ge)?öff.*|open)\:.*?)[;\[\b]"
    Case "strom": strpattern = "(s*stro.*?)\;"
    Case "versorgung": strpattern = "(s*versor.*?)\;"
    Case "entsorgung": strpattern = "(s*entsor.*?)\;"
    Case "anschluss": strpattern = "(s*anschlu.*?)\;"
    Case "toilette": strpattern = "(s*ilette.*?)\;"
    Case "dusche": strpattern = "(s*uschen.*?)\;"
    End Select
    With CreateObject("vbscript.regexp")
    .ignorecase = True
    .Pattern = strpattern
    If .test(text) Then getstring = Trim(.Execute(text).Item(0).submatches(0))
    End With
    End Function
    

  • Gruß Siegfried
    P.S.
    Datei habe ich unter „Muster_03_A.xlsm“ wieder hochgeladen.

    10
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    Hinweis!
    21.04.2020 02:07:08
    Luc:?
    Da die Datei nicht unter dem von dir gewählten Namen auf dem Server gespeichert wird, Siegfried,
    sondern unter einer fortlfd Nr, nutzt uns dieser Hinweis gar nichts. Wozu meinst du wohl, wird dir angezeigt, was du im Forum angeben sollst…‽ Mann-o-mann! :-[
    Morhn, Luc :-?
    „Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon
    Nichtsdestotrotz Durchblick verbessern mit …

    Anzeige
    AW: Hinweis!
    23.04.2020 20:30:44
    Siegfried
    Hallo Luc,
    da dürfte wohl insofern ein Irrtum vorliegen, da ich die Datei wegen der Größe in die von Steffen mir zur Verfügung gestellte Dropbox-Adresse hochgeladen habe.
    Nur Steffen meldet sich leider nicht mehr und ich kann auch nicht finden wie ich ihn sonst erreichen könnte.
    Hat mir bis jetzt mit dem Regex super geholfen
    Gruß Siegfried
    Na dann, "Warten auf Steffen"! owT
    23.04.2020 21:08:39
    Luc:?
    :-?
    AW: Na dann, "Warten auf Steffen"! owT
    23.04.2020 22:13:36
    Siegfried
    Na Luc du kannst schon manchmal sehr Sarkastisch und Schandenfroh sein
    Über wessen 'Schande' sollte ich froh sein, ...
    23.04.2020 23:46:00
    Luc:?
    …Siegfried?
    Woher sollte ich denn wissen, dass du die bewusste Datei nicht hier hochgeladen hast und mit Steffen ein Privatgespräch führst, wenn ich nicht am Vorgänger-Thread beteiligt war‽ Dann musst du halt auf seine AW warten. Könnte natürlich zum Warten auf Godot mutieren. Das ist halt so, wenn man sich auf einen bestimmten Helfer festlegt.
    Nebenbei, es gibt hier noch andere RegEx-Spezialisten, wenn auch nicht gerade mich…
    Luc :-?
    Anzeige
    AW: Über wessen 'Schande' sollte ich froh sein, ...
    24.04.2020 18:21:55
    Siegfried
    Hallo Luc,
    nun das sollte natürlich „Schadenfroh“ und nicht Schand….lauten.
    Und mit Steffen war das kein Privatgespräch, sondern er sagte ich soll ihm die komplette Arbeitsmappe hochladen damit er alle Vorkommen sehen bzw. finden kann.
    Die Datei war natürlich für den Upload etwas zu groß, daher gab er mir dann einen LINK für einen Upload bekannt an welchen ich auch die große Datei senden könne.
    Hat also nichts mit Privatgespräch und so zu tun und ich habe mich bei Steffen nicht auf einen bestimmten Helfer festgelegt sondern er war der einzige welcher zur Lösung meines Problems „6 Position eines Zeichen im Text auslesen“ dies mit RegEx angeboten hat, sonst hat sich keiner zu dem Gesamten Ablauf dazu gemeldet bzw. etwas beigetragen.
    Wunderte mich eh sehr darüber das da nur so wenige RegEx-Wissende vorhanden sind.
    Gruß Siegfried
    Anzeige
    AW: Über wessen 'Schande' sollte ich froh sein, ...
    24.04.2020 18:36:20
    Daniel
    hi
    1. RegEx ist nicht selbsterklärend
    2. RegEx ist in der Excel- und VBA-hilfe nicht beschrieben
    3. die meisten Aufgabenstellungen (soweit ich sie aus eigener Erfahrung und den Aufgabenstellungen hier im Forum kenne) lassen sich auch ohne RegEx lösen.
    dh der Normalanwender und DIY-Programmierer wird das eher selten kennen, regulär ausgebildete Profiprogrammierer sind wahrscheinlich eher selten in solchen Foren anzutreffen.
    gruß Daniel
    AW: Über wessen 'Schande' sollte ich froh sein, ...
    24.04.2020 20:35:37
    Siegfried
    Hallo Daniel,
    ja ich gebe dir schon recht, aber in Zeiten von Corona schadet es ja nicht wenn man was dazulernt denn RegEx findet ja doch immer mehr und mehr Anwendung.
    Brauche da nur den „Notepad++“ als Beispiel nehmen der hat auch eine RegEx – Funktion mit eingebaut und wenn man sich auskennt (hat mir ein anderer User an praktischen Beispielen gezeigt) ist es doch ein mächtiges Werkzeug.
    Aber auch von deiner Hilfestellung in meinem Grundproblem habe ich profitiert und dazugelernt.
    DANKE nochmals dafür, Gruß Siegfried
    Anzeige
    regex und co
    24.04.2020 23:44:09
    Daniel
    wenn du RegEx lernen willst ok, aber die Aufteilung deiner Texte machst du mit normalen VBA vielleicht mit ein paar mehr Zeilen Code, dafür aber wesentlich leichter verständlich.
    regex und co
    24.04.2020 23:44:10
    Daniel
    wenn du RegEx lernen willst ok, aber die Aufteilung deiner Texte machst du mit normalen VBA vielleicht mit ein paar mehr Zeilen Code, dafür aber wesentlich leichter verständlich.

    224 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige