Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String suche (https://www.delphipraxis.net/119429-string-suche.html)

day 26. Aug 2008 13:17


String suche
 
Hallo,
Gibt es eine funktion, die es erlaubt ab einer gewissen position nach einem String zu suchen?

Bei Pos kann ich ja nur nach einem gewissen string suchen aber nicht die Start position angeben.

gruss

taaktaak 26. Aug 2008 13:21

Re: String suche
 
PosEx()

mkinzler 26. Aug 2008 13:21

Re: String suche
 
PosEx()

Overclocker 26. Aug 2008 13:21

Re: String suche
 
PosEx()

taaktaak 26. Aug 2008 13:23

Re: String suche
 
Saubere Punktlandung dreier Antworten um 14:21 :mrgreen:

DeddyH 26. Aug 2008 13:25

Re: String suche
 
Hat schon jemand PosEx erwähnt? :lol:

day 26. Aug 2008 13:32

Re: String suche
 
Danke danke, das ging ja aber flott!

Gibt es auch eine funktion einen string von einer Startposition bis zu einem (End)Trennzeichen zu kopieren?

DeddyH 26. Aug 2008 13:34

Re: String suche
 
Ich denke, mit Copy() und noch einmal PosEx() sollte das zu machen sein.

day 26. Aug 2008 13:38

Re: String suche
 
Ja, Ich dachte nur das es vielleicht direkt geht.

DeddyH 26. Aug 2008 13:40

Re: String suche
 
Was meinst Du mit direkt? Vielleicht gibt es da etwas in StrUtils.pas, aber die habe ich gerade nicht zur Verfügung.

day 26. Aug 2008 13:42

Re: String suche
 
ich habe folgenden String: value="blalblalblab" nun möchte ich den Wert innerhalb der hochkommas kopieren.
Wie geht das am schnellsten?

Meflin 26. Aug 2008 13:46

Re: String suche
 
z.B. mit Hier im Forum suchenRegular Expressions bzw. Bei Google suchenTPerlRegEx :mrgreen:

DeddyH 26. Aug 2008 13:53

Re: String suche
 
Du könntest Dir mal die Eigenschaft Values von TStrings anschauen.

day 26. Aug 2008 14:02

Re: String suche
 
Ok, werde ich mal machen

HenKst 26. Aug 2008 14:05

Re: String suche
 
oder auch delimiter bzw. delimitedtext von tstrings

am schnellsten ginge in deinem speziellen fall aber wohl stringreplace ;)

DeddyH 26. Aug 2008 14:06

Re: String suche
 
StringReplace? Zeig mal, was Du damit meinst.

HenKst 26. Aug 2008 14:16

Re: String suche
 
Zitat:

Zitat von day
ich habe folgenden String: value="blalblalblab" nun möchte ich den Wert innerhalb der hochkommas kopieren.
Wie geht das am schnellsten?

Das meine ich geht am schnellsten mit StringReplace.

Die " durch Leerstring ersetzen und schon hat man nur den Text in den Hochkommata.

Ein befehl.

Wie performant das ganze ist weiss ich allerdings nicht :)

DeddyH 26. Aug 2008 14:17

Re: String suche
 
Nee, dann hast Du
Code:
value= blalblalblab

HenKst 26. Aug 2008 14:23

Re: String suche
 
Nagut...
Zwei befehle und eine extra Variable

Delphi-Quellcode:
var
  s: string;
begin
  s:= value;
  StringReplace(s, '"', '');
end
value bleibt value,
s ist value ohne "


Oder wo meintest du liegt der Fehler?

€dit

Quaak

Der Übergabe wert von StringReplace ist ja const
also
Delphi-Quellcode:
s:= StringReplace(value, '"', '');
Ich versteh also nicht wo du da ein Problem siehst.

DeddyH 26. Aug 2008 14:26

Re: String suche
 
Der gesamte String heißt doch
Code:
value="blalblalblab"
Nun will er nur den Teil zwischen den Anführungszeichen haben. D.h. der Teil bis zum ersten Anführungszeichen und das letzte Zeichen müssen weg.

HenKst 26. Aug 2008 14:31

Re: String suche
 
hm?

Aus
Code:
value="blablablab"
wird doch
Code:
value=blablablab
wenn man die Anführungszeichen durch Leerstrings ersetzt?

LeerSTRINGS nicht LeerZEICHEN

War das nicht was gewünscht war?


hab übrigens das ReplaceAll flag vergessen
weiss grad nicht wie das genau heisst^^

Meflin 26. Aug 2008 14:33

Re: String suche
 
Es geht mit 2x StringReplace ;)

Delphi-Quellcode:
StringReplace(s, 'value="', '');
StringReplace(s, '"', '');

HenKst 26. Aug 2008 14:34

Re: String suche
 
ACHSO!!
das Value= gehört zum string :D

sorry das hatte ich missverstanden^^
Dachte value wäre die variable

DeddyH 26. Aug 2008 14:38

Re: String suche
 
@Meflin, das setzt aber voraus, dass "value=" konstant ist.

HenKst 26. Aug 2008 14:41

Re: String suche
 
Nagut dann ist DelimtedText wohl doch das einfachste.
Gibt ja genau das zurück was zwischen den Delimtern steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:27 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