![]() |
Pos wie oft?
ich habe hier im Forum schon gesucht was ich fand ahtte immer mit Datein finden zu tun.
Es geht mir aber darum wie oft ich mit POS einen bestimten string suche for I:= 0 to 100 do geht ja nicht da ich ja nicht weis WIE oft der string vorkommen kann/tut.... |
Re: Pos wie oft?
Du könntest mit einer While-Schleife und
![]() |
Re: Pos wie oft?
ja nur in einem Text suchen wie oft das wort zB.: Auto vorkommt
|
Re: Pos wie oft?
Wie erwähnt PosEx verwenden und aktuelle (Fundstelle +1) als Offset angeben, solange was gefunden wird.
|
Re: Pos wie oft?
Mein Delphi kennt kein PosEX habe durch google gefunden das man "StrUtils" einbinden soll diese kenn Delphi auch nicht
![]() |
Re: Pos wie oft?
Welche Delphi-Version? Und btw:
![]() |
Re: Pos wie oft?
oah sorrry dachte das es im Profil steht Delphi 5 STD
|
Re: Pos wie oft?
Irre ich mich? Ich habe in meinen Programmen mit Pos sogar Quellcodes auseinander genommen, wozu PosEx ?
|
Re: Pos wie oft?
Das war Nix Sorry - vermacht. :wink:
|
Re: Pos wie oft?
Zitat:
|
Re: Pos wie oft?
Man könnte es auch mit der c-String-Funktion StrScan() versuchen
|
Re: Pos wie oft?
Am Einfachten
![]() Zitat:
PosEx sucht von da an, wo du es festlegst.
Delphi-Quellcode:
Anz := 0;
i := 1; While PosEx(Search, S, i) > 0 do Begin Inc(Anz); i := PosEx(Search, S, i) + 1; End; Anz = Anzahl der Vorkommen mit Überschneidung // ************** Anz := 0; i := 1; While PosEx(Search, S, i) > 0 do Begin Inc(Anz); i := PosEx(Search, S, i) + Length(Auto); End; Anz = Anzahl der Vorkommen OHNE Überschneidung // ************** Anz := 0; While Pos(Search, S) > 0 do Begin Inc(Anz); Delete(S, Pos(Search, S), Length(Search)); //Delete(S, Pos(Search, S), 1); << alternativ für die Version mit Überschneidung End; // man kann den gefunden String auch gegen etwas ersetzen, // wo der Suchstring aber nicht drin enthalten sein darf Anz = Anzahl der Vorkommen OHNE Überschneidung
Delphi-Quellcode:
erster Code sagt 6
Search := 'XXX';
S := 'XXX XXXXX XXXX';
Code:
und Zweiter meint 3 (was CountString entspricht)
'XXX XXXXX XXXX'
111 222 555 333 666 444
Code:
[add]
'XXX XXXXX XXXX'
111 222 333 OK, noch ein Code mit POS für mkinzler :angel: Zitat:
|
Re: Pos wie oft?
@himitsu: Ohne PosEx() funktioniert dein Code aber auch nicht.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:37 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