![]() |
Steuerzeichen (Zeilenumbrüche) aus einem String entfernen?
Hallo!
Ich habe ein Problem mit Strings, die einen Zeilenumbruch beinhalten, in folgender Weise: Ich lese eine HTML-Seite ein, aus der ich eben einige Inhalte extrahieren will. nur funktioniert das mit AnsiMidStr oft nicht, da inmitten des Substr, den ich herausgesucht habe, ein Zeilenumbruch ist. Die gesamte Website liegt in einem String vor, die Zeilenumbrüche sind eben noch als Steuerzeichen enthalten. Man muss noch dazu sagen, dass der String sehr lang ist, optimal wäre also eine zugleich schnelle Methode, aber ich bin da jetzt nicht so wählerisch :) Kann mir jemand verraten, wie ich vor dem Beginnen des Durchlaufes diese Steuerzeichen entfernen kan, sodass alles funktioniert? Danke! |
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
Hallo,
ich entferne Steuerzeichen, Umlaute u.ä. mit "StringReplace".
Code:
Gruß Ines
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string
|
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
Hallo simlei
so könnte es gehen ...
Delphi-Quellcode:
bye
function DelCRLF(const S: string): string;
var I: Integer; begin Result := S; for I := Length(Result) downto 1 do begin if (Result[I] = #13) or (Result[I] = #10) then begin Delete(Result, I, 1); end; end; end; Claus |
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
Hallo
Schau mal nach Trim, das könnte auch was sein für Dich. Blackheart |
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
trim entfern aber nur leerzeichen (und steuerzeichen) am ende und am anfang eines string, nicht in der mitte
|
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
@Duffy: Die Deletevariante ist nicht besonders schnell. Besser ist wenn du eine zweite String-Variable nimmst und alle Zeischen darein kopierst außer das #13#10 und am Ende einmal die Länge setzt.
|
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
Hallo Jens,
Zitat:
bye Claus |
Re: Steuerzeichen (Zeilenumbrüche) aus einem String entferne
Hallo,
bei HTML-Text sollte man etwas genauer hinschauen. Eine Zeilentrennung kann in der Regel nicht einfach entfernt werden, sondern muss in der Regel (Ausnahme z.B. PRE) durch ein Leerzeichen ersetzt werden. Außerdem müsste streng genommen noch eine white space Verdichtung nachgeschoben werden. Ich würde auf den HTML-Code aber nicht mit String-Routinen losgehen, sonder den MSHTML-Parser benutzen. Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 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