![]() |
Doppelte Buchstaben filtern
Ich habe Probleme mit einem alten Programm von mir und bin nun dabei mir eine Erweiterung dafür zu basteln.
Das alte Tool ist sehr umfangreich und ich habe den Src dazu leider nicht mehr, kann also den Fehler dadrin nicht mehr beheben! Egal! Es geht auf jeden Fall dadrum, dass ich einen Text erhalte der decodiert bzw. generiert wird aber nen Fehler hat und mit so ziemlich alle Buchstaben/Ziffern doppelt ausgiebt. Dafür nun die Erweiterung die den Text filtern soll. Hier mal ein Beispiel Text den ich erhalte: Zitat:
Ich könnte ja einfach in einer Schleife anhand von pos() und stringreplace() nach den doppelten Buchstaben suchen und sie ersetzten aber was mache ich mit den doppelten, die doppelt bleiben sollen? wie in HHaalllloo(Hallo)? Gibt es eine Befehl in der Art wie strip() oder so der dafür funktionieren würde? Ich denke mal nicht. Aber ich hoffe, dass mich hier jemand auf ne Idee bringen kann und/oder sogar nen Beispiel oder Schnipsel Code für mich hat! Danke im Vorraus! |
AW: Doppelte Buchstaben filtern
Vllt sowas wie:
Delphi-Quellcode:
Ansonsten lässt sich bestimmt auch irgendein schlauer RegEx bauen.
function parseDoubleLetters(s:string):string;
var i:integer; begin i:=1; result:=''; while (i<=length(s)) do begin result:=result+s[i]; if (s[i]=s[i+1]) then begin inc(i); end; inc(i); end; end; |
AW: Doppelte Buchstaben filtern
kommt dir das über einen tastaturhook so rüber?
|
AW: Doppelte Buchstaben filtern
Du kannst den RegEx (.)\1 benutzen und durch die 1. Gruppe ersetzen.
|
AW: Doppelte Buchstaben filtern
Die doppelten Buchstaben sind ja immer vorhanden.
Delphi-Quellcode:
Einfach nur so runtergetippt.
for a:=1 to (length(quellstring) div 2) do
result:=result+quellstring[a*2]; |
AW: Doppelte Buchstaben filtern
Zitat:
Anonsten hast du das Problem, dass du exakt wissen musst, wann die Buchstaben doppelt sind. Die Funktion von XHelp filtert zwar alle doppelten Buchstaben raus, aber auch eben ein "p" aus doppelt oder ein "t" aus Mittag, was in dem Fall ja nicht gewünscht wäre. Gruß angos |
AW: Doppelte Buchstaben filtern
Zitat:
|
AW: Doppelte Buchstaben filtern
Nein also es ist wirklich alles doppelt und auch immer! Habe mich da versehentlich falsch ausgedrückt! Es ist wirklich jedes Zeichen (sogar Space/Freizeichen) doppelt.
Ich werde das mal jetzt erst einmal mit der parseDoubleLetters() Funktion versuchen. Was du mit "...RegEx (.)\1 benutzen und durch die 1. Gruppe ersetzen..." gemeint hast, verstehe ich leider nicht! Sry! Aber vielen Dank für eure Ideen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 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