gelöst Replace Regex


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

gelöst Replace Regex

Beitragvon Legxis » 24.05.2018, 14:09

Ich habe das Ergebnis von READ_TEXT zusammengesetzt, dort sind allerdings Symbole etc. die ich loswerden muss.
Die HTML tags (3) sind ja noch einfach, das funktioniert.
Aber (1) kann ich so nicht verwenden, dann bekomme ich einen Syntaxfehler: "Der reguläre Ausdruck '...' ist bei Zeichenposition 7 ungültig."
Bei (2) akzeptiert er das .*? allerdings. Funktionieren tut es aber trotzdem nicht.

1) REPLACE ALL OCCURRENCES OF REGEX '<.*?>' IN filialtext WITH ' '. "< dies wird alles gelöscht >
2) REPLACE ALL OCCURRENCES OF '&am.*?sp;' IN filialtext WITH ' '. " &am dies wird alles gelöscht sp;
3) REPLACE ALL OCCURRENCES OF REGEX '<[^>]*>' IN filialtext WITH ' '. " <dies wird alles gelöscht>

Beispielstring: Ich bin&am p;nb sp; sehr &lt;verzweifelt&gt;, <div>hilfe!</div>

Weiß da jemand, wie ich das lösen kann?
Ich bin dankbar für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
Specialist
 
Beiträge: 127
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 20 mal
Ich bin: Student/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Replace Regex

Beitragvon a-dead-trousers » 24.05.2018, 14:27

Ich würde als erstes mal das Fragezeichen in deiner Regex weglassen.
Das ist nämlich falsch und wird laut Fehlermeldung (Position 7) ja auch als falsch ausgewiesen. Du verwendest hier zwei Quantoren (Wiederholungsfaktoren) hintereinander.
https://de.wikipedia.org/wiki/Regul%C3% ... #Quantoren
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40
a-dead-trousers
Top Expert
 
Beiträge: 3055
Registriert: 07.02.2011, 13:40
Dank erhalten: 756 mal
Ich bin: Entwickler/in

Re: Replace Regex

Beitragvon Legxis » 24.05.2018, 15:29

Ohne das Fragezeichen bei '&am.*?sp;' würde er aber alles löschen bis zu dem letzten Auftauchen des End-Zeichens. Das darf er nicht tun.

Der braune Fuchs &am z sp; springt &am z sp; über den Hund.

-->

Der braune Fuchs über den Hund.

https://www.debuggex.com/r/TROEAYlgYV6Z-cCS Kann man sich hier anschauen. Ohne das Fragezeichen ist es falsch.
Ich bin dankbar für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
Specialist
 
Beiträge: 127
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 20 mal
Ich bin: Student/in

Re: Replace Regex

Beitragvon a-dead-trousers » 25.05.2018, 05:54

Dann mach es gleich wie deine letzte Regex:
REPLACE ALL OCCURRENCES OF REGEX '&lt;[^&]*&gt;' IN filialtext WITH ' '.

Oder in mehreren Schritten:
REPLACE ALL OCCURRENCES OF '&lt;' IN filialtext WITH '<'.
REPLACE ALL OCCURRENCES OF '&gt;' IN filialtext WITH '>'.
REPLACE ALL OCCURRENCES OF REGEX '<[^>]*>' IN filialtext WITH ' '.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.07
Basis: 7.40

Für diese Nachricht hat a-dead-trousers einen Dank bekommen :
Legxis
a-dead-trousers
Top Expert
 
Beiträge: 3055
Registriert: 07.02.2011, 13:40
Dank erhalten: 756 mal
Ich bin: Entwickler/in

Re: Replace Regex

Beitragvon black_adept » 25.05.2018, 06:54

Ich finde REGEX ja immer sehr spannend - aber was hältst du von der Verwendung des FuBa SOTR_TAGS_REMOVE_FROM_STRING
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Für diese Nachricht hat black_adept einen Dank bekommen :
Legxis
black_adept
Top Expert
 
Beiträge: 3074
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 522 mal
Ich bin: Freiberufler/in

Re: Replace Regex

Beitragvon Legxis » 25.05.2018, 09:18

Schlaue Idee, die Starteile und Endteile durch HTML tags auszutauschen, das hat funktioniert! Und den FuBa kannte ich nicht, den verwende ich jetzt. Danke!
Ich bin dankbar für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
Specialist
 
Beiträge: 127
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 20 mal
Ich bin: Student/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
Java & Bildbearbeitung
vor 13 Stunden von Madredure 0 Antw.
Call Transaction WE20 mit Werteübergabe
vor 12 Stunden von ewx 1 Antw.
Vergleich Customizing Tabellen auf zwei Systemen
vor 13 Stunden von ewx 2 Antw.
Empfehlung Antiviren-Programm?
vor 14 Stunden von Madredure 2 Antw.
BADI im Customizing finden
Gestern von Romaniac 0 Antw.

  Ähnliche Beiträge beta
gelöst Regex für /xA0
05.05.2014, 07:18 von Thomas R. 12 Antw.
XML Parser mit REGEX
27.12.2013, 11:05 von a-dead-trousers 1 Antw.
gelöst Suchmuster mit Regex
15.05.2014, 12:26 von crishi_crd 2 Antw.
Regex in FIND
22.10.2018, 17:24 von hugo.data 17 Antw.
REPLACE
28.09.2009, 07:23 von michael.sbs 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]