Post by just me » 10 Apr 2019, 09:52
Moin,
bei langen Texten könnte es sich lohnen, sich die Fundposition zu merken, um dort wieder aufzusetzen:
Code: Select all
T := "Israel wählt rechts, religiös und natürlich rechtsreligiös"
Pos := 1
While (Pos := RegExMatch(T, "&#(x*\w+);", Muster, Pos)) ; #x hexadezimalen und # dezimalen Code dekodieren
T := StrReplace(T, Muster, Chr("0" Muster1))
MsgBox,% T
Möglicherweise bringt es auch manchmal etwas, wenn man
StrReplace() durch
RegExReplace() ersetzt, weil man auch hier die Fundposition nutzen kann:
Code: Select all
T := "Israel wählt rechts, religiös und natürlich rechtsreligiös"
Pos := 1
While (Pos := RegExMatch(T, "&#(x*\w+);", Muster, Pos)) ; #x hexadezimalen und # dezimalen Code dekodieren
T := RegExReplace(T, Muster, Chr("0" Muster1), , , Pos)
MsgBox,% T
Für etwas mehr Zuverlässigkeit kann die Posix-Klasse
xdigit sorgen:
Code: Select all
T := "Israel wählt rechts, religiös und natürlich rechtsreligiös"
Pos := 1
While (Pos := RegExMatch(T, "&#(x[[:xdigit:]]{1,4}|\d{1,5});", Muster, Pos)) ; #x hexadezimalen und # dezimalen Code dekodieren
T := RegExReplace(T, Muster, Chr("0" Muster1), , , Pos)
MsgBox,% T
Moin,
bei langen Texten könnte es sich lohnen, sich die Fundposition zu merken, um dort wieder aufzusetzen:
[code]T := "Israel wählt rechts, religiös und natürlich rechtsreligiös"
Pos := 1
While (Pos := RegExMatch(T, "&#(x*\w+);", Muster, Pos)) ; #x hexadezimalen und # dezimalen Code dekodieren
T := StrReplace(T, Muster, Chr("0" Muster1))
MsgBox,% T[/code]
Möglicherweise bringt es auch manchmal etwas, wenn man [c]StrReplace()[/c] durch [c]RegExReplace()[/c] ersetzt, weil man auch hier die Fundposition nutzen kann:
[code]T := "Israel wählt rechts, religiös und natürlich rechtsreligiös"
Pos := 1
While (Pos := RegExMatch(T, "&#(x*\w+);", Muster, Pos)) ; #x hexadezimalen und # dezimalen Code dekodieren
T := RegExReplace(T, Muster, Chr("0" Muster1), , , Pos)
MsgBox,% T[/code]
Für etwas mehr Zuverlässigkeit kann die Posix-Klasse [c]xdigit[/c] sorgen:
[code]T := "Israel wählt rechts, religiös und natürlich rechtsreligiös"
Pos := 1
While (Pos := RegExMatch(T, "&#(x[[:xdigit:]]{1,4}|\d{1,5});", Muster, Pos)) ; #x hexadezimalen und # dezimalen Code dekodieren
T := RegExReplace(T, Muster, Chr("0" Muster1), , , Pos)
MsgBox,% T[/code]