Einzelnen Beitrag anzeigen

nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#58

Re: wie benutze ich regular expressions?

  Alt 9. Jun 2009, 12:32
result:=StringReplace(url,hex,chr(code),[rfReplaceAll]); das problem ist, dass du hier immer in dem ursprungs-string ersetzt.
wenn mehr als ein %xx zeichen drin ist, dann wird nur das letzt ersetzen "übernommen"
beispiel: "hallo%20welt%A0bla"

nach dem 1. ersetzen: "hallo welt%A0bla"
nach dem 2. ersetzen: "hallo%20welt bla"

du mußt immer wieder in deinem result string arbeiten.
allerdings finde ich es nicht so günstig mit strinreplace zu arbeiten
(grade wenn es dir auf geschwindigkeit ankommt). du gehst doch deinen
string schon mit pos/posex durch... dann bau dir den string doch selber
zusammen. du köntest z.B. einfach in der schleife sowas in der art machen
Delphi-Quellcode:
result[idx] := Chr(code); //überschreibt das % zeichen mit dem echten zeichen
Delete(result, idx, 2); //löscht die beiden zahlen hinter dem % zeichen
ist nur ein beispiel. kann man auch anders (und schneller) machen, aber das ist
glaub ich eine lösung die am einfachsten zu verstehen ist.
  Mit Zitat antworten Zitat