Hallo Ihr,
auch mich schaft regEx mit einer eigentlich einfachen Situation - und das, obwohl ich dachte Regex verstanden zu haben.
Mein Ziel:
Ich möchte z. B. den Text '<Absatz ' löschen. Es gibt mehrere X-Beliebige Strings, die immer mit '<' beginnen, dann kommt ein String und ein Space. Dieser Teil soll im gesamten XML gelöscht werden.
Hintergrund:
Ich möchte eine XMl Datei in Werttyp und Werte in ein eigenes Array schreiben. Dabei ist es ein nicht ganz typisches XML, aber dennoch wellformed. Mit XML Versuchen aus dem Forum kam ich nicht weiter, da die TAGs anders erwartet wurden. Also möchte ich ein einfaches Texterkennungsscript schreiben und das XML für meine Zwecke verändern.
Meine XML (Auszug):
Code
<Absatz AbsatzID="27" IP="127.0.0.1" WertID="" Wert2ID="" Wert3ID="" Wert4ID="false" Wert5ID="66.97"/> </Absatz>
Einer meiner Versuche:
Code
#include <array.au3>
;#include <String.au3> ; für andere Versuche
;$my_xml = FileRead ("d:\1.xml")
$my_xml = '<Absatz AbsatzID="27" IP="127.0.0.1" WertID="" Wert2ID="" Wert3ID="" Wert4ID="false" Wert5ID="66.97"/> </Absatz>'
StringRegExpReplace ($my_xml, "<\S", "") ;<= Hier soll es passieren - passiert aber nicht.
;StringRegExpReplace ($my_xml, "<(.*) ", ""); <= Anderer Versuch
MsgBox (0, "", $my_xml)
$arr_werte_xml = _StringBetween($my_xml, '"', '"', -1, 1);Using SRE
$arr_beschreibung_xml = _StringBetween($my_xml, '" ', '="', -1, 1);Using SRE
_ArrayDisplay ($arr_werte_xml)
_ArrayDisplay ($arr_beschreibung_xml)
Alles anzeigen
Danke im Voraus,
Seq