Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Anführungszeichen herausfiltern (https://www.delphipraxis.net/25734-anfuehrungszeichen-herausfiltern.html)

Andreas L. 11. Jul 2004 15:58


Anführungszeichen herausfiltern
 
Hi,
wie kann ich überprüfen ob in einen String Anführungszeichen (") sind und diese ggf. herausfiltern.

Greetz und thx

Sharky 11. Jul 2004 16:02

Re: Anführungszeichen herausfiltern
 
Hai onlinehome,

Stichwörter: Pos und StringReplace

DP-Maintenance 11. Jul 2004 16:02

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "VCL-Komponenten und Controls" nach "Object-Pascal / Delphi-Language" verschoben.
Hat ja nicht wirklich etwas mit VCL zu tun.

Keldorn 11. Jul 2004 16:02

Re: Anführungszeichen herausfiltern
 
Hallo

in einer schleife durchgehen und s[i]='"' prüfen?

Wenns ums ersetzten geht: stringreplace, damit kannst du alle " mit einem schalg suchen und ersetzen

Mfg Frank

Nikolas 11. Jul 2004 16:03

Re: Anführungszeichen herausfiltern
 
nimm pos und delete

Delphi-Quellcode:
while pos('''',string1)>0 do
delete(sytax weiss ich grad nicht)

StefanDP 11. Jul 2004 16:10

Re: Anführungszeichen herausfiltern
 
Delphi-Quellcode:
StringReplace(DeinString, '"', '', rfREPLACE_ALL);
das mit pos zu machen, ist meiner meinung nach ein bissl übertrieben...

Nikolas 11. Jul 2004 16:34

Re: Anführungszeichen herausfiltern
 
Er wollte aber wissen, ob in dem Text '' drin sind. Wenn du Stringreplace drüberjagst, hast du keine Möglichkeit rauszufinden, ob jemals welche drin waren.

NicoDE 11. Jul 2004 16:48

Re: Anführungszeichen herausfiltern
 
Zitat:

Zitat von onlinehome
wie kann ich überprüfen ob in einen String Anführungszeichen (") sind und diese ggf. herausfiltern.

Kommt darauf an was Du damit machen willst...
Für das Ein/Auspacken von Kommandozeilen hab ich meist AnsiQuotedStr/AnsiExtractQuotedStr verwendet.

Andreas L. 11. Jul 2004 17:08

Re: Anführungszeichen herausfiltern
 
Also ich möchte eine Datei öffnen (in ein Memo reinladen) und da müssen halt die Anführungszeichen weg.

Danke für eure Hilfe

yankee 11. Jul 2004 18:32

Re: Anführungszeichen herausfiltern
 
Zitat:

Zitat von onlinehome
Also ich möchte eine Datei öffnen (in ein Memo reinladen) und da müssen halt die Anführungszeichen weg.

Anführungszeichen im Text, der nach dem Einladen in der Memo steht? Oder aus dem Dateinamen?
Ich schätze mal das erstere, sonst wäre es ja schwachsinn... Dann so:
Delphi-Quellcode:
StringReplace(memo1.text, '"', '', rfREPLACE_ALL);
Wie bereits von StefanDp vorgschalgen (nur auf memo angepasst)...

Keldorn 11. Jul 2004 19:07

Re: Anführungszeichen herausfiltern
 
Zitat:

Delphi-Quellcode:
StringReplace(memo1.text, '"', '', rfREPLACE_ALL);
Wie bereits von StefanDp vorgschalgen (nur auf memo angepasst)...
wenn du schon keinem zutraust, Deinstring mit memo1.text zu ersetzen, hättest du es auch richtig hinschreiben können ... ([] haben gefehlt)
Delphi-Quellcode:
memo1.text:=StringReplace(memo1.text, '"', '', [rfReplaceAll]);

yankee 11. Jul 2004 19:31

Re: Anführungszeichen herausfiltern
 
Zitat:

Zitat von Keldorn
wenn du schon keinem zutraust, Deinstring mit memo1.text zu ersetzen, hättest du es auch richtig hinschreiben können ... ([] haben gefehlt)

Ich traue es (fast) jedem zu, aber wenn onlinehome extra nochmal fragt...
Wusste ich nicht, dass da so olle [] hinkommen, ich habe doch nur StefanDP zitiert...

Sharky 12. Jul 2004 06:51

Re: Anführungszeichen herausfiltern
 
Zitat:

Zitat von Keldorn
...wenn du schon keinem zutraust, ...

Zitat:

Zitat von yankee
...Ich traue es (fast) jedem zu,...

Und jetzt bitte zurück zum Thema. Wir wollen doch nicht persönlich werden :!: :stupid:

Andreas L. 12. Jul 2004 15:10

Re: Anführungszeichen herausfiltern
 
Die Zeichen sollen aus dem Dateinamen raus.

Code:
"C:\test.txt"
soll

Code:
C:\test.txt
werden.

Greetz und thx

yankee 12. Jul 2004 15:22

Re: Anführungszeichen herausfiltern
 
Ich frage mich zwar, wie die Zeichen in die Datei überhaupt reingekommen sind, aber wenn das immer so ist, dann würde ich das so machen:
Delphi-Quellcode:
DeinString[length(DeinString)-1]='';
DeinString[0]='';
Und wenn du nicht sicher bist, ob "" drum sind, dann:
Delphi-Quellcode:
if Deinstring[length(DeinString)-1] ='"' then DeinString[length(DeinString)-1]='';
...

mytar 12. Jul 2004 15:30

Re: Anführungszeichen herausfiltern
 
In C gibt es StringTok, das ist ein Tokenizer,
d.h. man übergibt den String und den Teilstring,
und gibt zurueck ob er enthalten ist, oder die Position im String, ich weiß nicht
obs das auch in Delphi gibt?

mytar

Mirilin 12. Jul 2004 15:33

Re: Anführungszeichen herausfiltern
 
:hi:

pos

mfg Tobias

Nikolas 12. Jul 2004 16:59

Re: Anführungszeichen herausfiltern
 
Steht doch schon mehrmals im Thread :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:50 Uhr.

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