Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Suche andere Funktion als "StringReplace" (https://www.delphipraxis.net/172202-suche-andere-funktion-als-stringreplace.html)

Itchimonji 18. Dez 2012 16:50

Delphi-Version: 2010

Suche andere Funktion als "StringReplace"
 
Hi!

Und zwar, ich habe folgendes Problem:
Ich habe einen Text in ein Memo geladen, der in seiner Länge nicht eingeschränkt ist, d.h. er könnte über mehrere tausend Zeilen gehen.
Diesen Text muss ich auf bestimmte Bedingungen überprüfen, darunter fällt auch der Austausch von Wortgruppen.

Dazu benutze ich die Funktion "StringReplace".

Nun folgendes Problem:
In dem Text suche ich nach "hard" und möchte dieses durch "Anton" austauschen. Ist ja alles easypeasy:

Text := Stringreplace(Text, 'hard', 'Anton', [rfReplaceAll]);

Nun steht aber in meinem Text auch "Gerhard". Nach meiner Verarbeitung würde dann aber daraus "GerAnton" entstehen.

Nun meine Frage:
Gibt es eine andere Funktion, die nur "hard" austauscht, also prüft, ob das Wort einzeln steht.
Oder gibt es eine andere Möglichkeit, dieses Problem zu beheben?

Vielen Dank schon mal für die Hilfe!

Morphie 18. Dez 2012 16:56

AW: Suche andere Funktion als "StringReplace"
 
Zitat:

Zitat von Itchimonji (Beitrag 1195930)
Hi!
Diesen Text muss ich auf bestimmte Bedingungen überprüfen, darunter fällt auch der Austausch von Wortgruppen.

Da bieten sich doch gerade zu reguläre Ausdrücke an...

Itchimonji 18. Dez 2012 16:59

AW: Suche andere Funktion als "StringReplace"
 
zum Beispiel?

Popov 18. Dez 2012 17:02

AW: Suche andere Funktion als "StringReplace"
 
Du könntest auch einfach die vorhandene StringReplace Funktion modifizieren. Code besorgen (ist nur eine Funktion) und prüfen links und rechts auf Buchstaben.

Itchimonji 18. Dez 2012 17:03

AW: Suche andere Funktion als "StringReplace"
 
Did is ne gute Idee. Mach ick!
Dank dir ;)

DeddyH 18. Dez 2012 17:19

AW: Suche andere Funktion als "StringReplace"
 
Ersetz doch einfach " hard " durch " Anton ". Ggf. dasselbe inkl. Satzzeichen wiederholen, oder doch auf reguläre Ausdrücke ausweichen, aber da muss man erst einmal die Syntax beherrschen.

p80286 18. Dez 2012 18:33

AW: Suche andere Funktion als "StringReplace"
 
Jetzt noch an den Zeilen-Anfang und das -Ende denken, und Du hast alles zusammen.

Gruß
K-H

Popov 18. Dez 2012 19:03

AW: Suche andere Funktion als "StringReplace"
 
Besser als mit Ausnahmen zu hantieren ist zu prüfen ob Zeichen vor und nach dem Wort Buchstaben sind. Spart man sich Arbeit.

Sir Rufo 18. Dez 2012 19:20

AW: Suche andere Funktion als "StringReplace"
 
Zitat:

Zitat von p80286 (Beitrag 1195948)
Jetzt noch an den Zeilen-Anfang und das -Ende denken, und Du hast alles zusammen.

Gruß
K-H

oder temporär leerzeichen vorn und hinten anfügen (und nachher entfernen)

Furtbichler 18. Dez 2012 19:27

AW: Suche andere Funktion als "StringReplace"
 
Was ist mit .,:;+- usw? Popov hat Recht, Morphie hat Rechter. :wall:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz