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 Neuling und für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele dankbar^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
ForumUser
 
Beiträge: 87
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 16 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: 2962
Registriert: 07.02.2011, 13:40
Dank erhalten: 730 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 Neuling und für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele dankbar^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
ForumUser
 
Beiträge: 87
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 16 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: 2962
Registriert: 07.02.2011, 13:40
Dank erhalten: 730 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: 2983
Registriert: 08.01.2003, 13:33
Wohnort: Lehrte ( bei Hannover )
Dank erhalten: 496 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 Neuling und für jede Hilfe, Kritik, diverse Programmverbesserungen/-optimierung und schöne Codebeispiele dankbar^^
( SAP ECC 6.0, NetWeaver 7.0, ohne unicode, ohne support/enhancement packages )
Legxis
ForumUser
 
Beiträge: 87
Registriert: 12.01.2018, 08:59
Wohnort: Köln
Dank erhalten: 16 mal
Ich bin: Student/in


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

  Aktuelle Beiträge   
Steuerkommandos in Adobe Forms
vor 7 Stunden von ewx 0 Antw.
Bilder aus SMW0 im Dynpro nutzen?
vor 13 Stunden von newone 0 Antw.
OLE (Excel): GET PROPERTY OF cell 'Value' feld
vor 14 Stunden von heiko-77 3 Antw.
HUMV4-IDENT Handling Unit Tabelle
Gestern von ewx 1 Antw.
Transaktion für Pflege Custom. Tabelle
Gestern von DeathAndPain 4 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.
REPLACE
28.09.2009, 07:23 von michael.sbs 2 Antw.
Replace
04.10.2017, 15:13 von DeathAndPain 6 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron