![]() |
Ersetzen von Dezimalwerten
Hallo DP,
ich lese eine HTML-Datei aus und habe dabei das Problem, dass Umlaute und andere Sonderzeichen in dieser Form: & # 226 ; (ohne leerzeichen) im HTML-Text vorhanden sind. Gibt es einen einfachen Befehl um in einem String sämtliche solcher Vorkommnisse in ihre String-Entsprechungen umzuwandeln, oder muss ich wirklich alles mit stringreplace einzeln abfragen? Gruß Jan |
Re: Ersetzen von Dezimalwerten
Hallo Jan,
was hat deine Frage mit dem Titel "Ersetzen von Dezimalwerten" zu tun? der Titel sollte besser "Ersetzen von Sonderzeichen" oder ähnlich lauten. bye Claus |
Re: Ersetzen von Dezimalwerten
226 ist in oben genanntem Beispiel die Dezimale (ASCII) Entsprechung für ein Sonderzeichen.
|
Re: Ersetzen von Dezimalwerten
Was mir da immer als erstes durch den Kopf schießt ist StringReplace. :roll:
|
Re: Ersetzen von Dezimalwerten
Zitat:
Gruß Jan |
Re: Ersetzen von Dezimalwerten
Moin Jan,
sonst bliebe z.B. noch die Möglichkeit, dass Du Dir einen, zumindest, rudimentären Parser für HTML, bzw. die extrahierten Texte, schreibst, und auf eine entsprechende Zeichenkombination triffst diese ersetzt. Das dürfte zumindest schon einmal einiges schneller gehen, da die Daten sich dann in einem Durchgang umwandeln liessen. |
Re: Ersetzen von Dezimalwerten
Das wäre ja nichts anderes als eine Funktion an welche ich einen String übergebe, diese Funktion wendet mehrere Stringreplaces an und gibt den neuen Wert zurück.
Naja ich hatte gehofft es gibt da so einen Befehl wie bei php (htmlspecialchars) nur für Sonderzeichen, aber da dem ja nicht so ist muss ich wohl oder übel diese unsägliche Funktion schreiben. Gruß Jan |
Re: Ersetzen von Dezimalwerten
PHP ist ja auch eine Websprache, dass es da sowas gibt sollte man meinen. Aber Delphi ist ja eine richtige Programmiersprache.
|
Re: Ersetzen von Dezimalwerten
Moin Jan,
Zitat:
Wenn mehrere StringReplace nacheinander aufgerufen werden, wird ja jedesmal der gesamte Inhalt durchgegangen. Nimmst Du hingegen einen Parser, kannst Du das, ohne StringReplace, in einem Durchgang erledigen. Such' dazu am besten mal nach ![]() ![]() |
Re: Ersetzen von Dezimalwerten
Hallo Christian,
was ein Endlicher Automat ist weiß ich natürlich (das war doch der langweilige Teil in Informatik Klasse 13, oder? :mrgreen: ). Das war noch geil, wie uns unser Lehrer Händefuchtelnd am Beispiel eines Zigarettenautomaten einen Endlichen Automaten beigebracht hat und dazu tatsächlich 1 1/2 Stunden gebraucht hat... Naja zurück zum Thema: Ich soll also Wort für Wort den String durchgehen, bis ich dann auf ein Vorkommen eines Sonderzeichens Stoße, oder wie habe ich das zu verstehen? Gruß Jan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz