Bestimmte Inhalte Extrahieren

Hallo,

ich möchte gerne aus einem Textfeld bestimmte Inhalte extrahieren.
In einem Textfeld (Zutatentext) sind mehrere E-Nummern enthalten. Sie haben immer den gleichen Aufbau E123 (angeführt von einem E und dann eine 3-stellige Nummer). Ein Textfeld kann aber mehrere E-Nummern enthalten.
Ich möchte nun ein Ergebnis haben, wo aus: “80% Schweinefleisch, Gewürze, Kräuter, E621, Gewürzextrakte, E510, E631.”, “E621 E510 E631” wird.

Kennt jemand eine Möglichkeit?

Grüß dich Kevin, willkommen im LL Forum, eventuell mit nem REGEX Ausdruck, hier mal ein Ansatz dazu.

RegExMatch$(“80% Schweinefleisch, Gewürze, Kräuter, E621, Gewürzextrakte, E510, E631.”, “E[0-9]{3}”)

Interessant könnten auch noch die Funktionen MID$() und RegExSubst$(,)
sein, viel Erfolg.

Das Problem wird sein, alle Exxx zu extrahieren. Wenn die Zahl endlich ist würde das vielleicht noch über Groups funktionieren.

Ich würde das an Deiner Stelle mit einer benutzerdefinierten Funktion lösen. Der eigentliche Code dazu wäre dann in etwa sowas:

string pattern = @"E\d{3}";
MatchCollection matches = Regex.Matches(input, pattern);
string result = "";
foreach (Match match in matches)
{
    result += match.Value + " ";
}

Wie man so eine Funktion baut (die im Beispiel hier was ganz anderes macht, genau den Teil müsstest Du mit dem Code oben ersetzen) siehst Du hier: UTF-8-kodierte Zeichen in QR-Codes darstellen