Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wort in einem String suchen (https://www.delphipraxis.net/3065-wort-einem-string-suchen.html)

Pseudemys Nelsoni 21. Feb 2003 00:58


Wort in einem String suchen
 
moinmoin,

also ich möchte ein Wort aus einem String suchen...ok das wär nicht schwer wenn die wörter da vor nicht variieren würden...also sagen wir mal so

bla1 bla2 bla3 bla4 bla5

sagen wir mal ich würde prüfen ob bla4 und bla 5 existieren...
dan würd ichs so machen : if copy(string, 16, 9) then ...

da aber die wörter bla 1,2 und 3 verschieden lang sei können, weiss ich nicht wie ich an die beiden letzteren rankommen kann

hoffe ihr versteht was ich meine

gruss mario

Mirilin 21. Feb 2003 05:16

vielleicht hilft dir die Funktion
pos()

Delphi-Quellcode:
if (pos(bla5,s)>0) and (pos(bla6,s)>0) then
begin
  ...
end;
Zitat:

Die Funktion Pos gibt den Indexwert des ersten Zeichens innerhalb des angegebenen Teil-Strings zurück, der in einem String vorkommt.

Unit

System

Kategorie

String-Verarbeitung

function Pos(Substr: string; S: string): Integer;

Beschreibung

Pos sucht in dem String S nach dem Teil-String Substr. Die Parameter Substr und S sind String-Ausdrücke.

Wird der Teil-String gefunden, gibt Pos den Integer-Index des ersten Zeichens von Substr in S zurück. Die Groß/Kleinschreibung wird von Pos nicht berücksichtigt. Ist Substr nicht vorhanden, wird der Wert Null zurückgegeben.

Pseudemys Nelsoni 21. Feb 2003 10:29

danke das hat mir schonmal weitergeholfen :)

hab dazu noch ne frage und zwar, wie kann ich das letzte Wort eines Strings rauskopieren... das letzte wort kann beliebig lang sein, und ich weiss nicht wie der string überhaupt aussieht...

:ChanServ!services@euirc.net MODE #tiberiansun +a HIERDERNICK


^^^^ da möcht ich das letzte rauskopieren, also den nick. kann mir nur vorstellen das ich das machen kann, indem ich angebe das der dick nach 4 leertasten anfängt (wie das geht weiss ich leider nicht). wo der nick allerdings aufhört weiss ich auch nicht, da er ja beliebig lang sein kann

kann mir das auch noch jemand erklären?

gruss mario

Luckie 21. Feb 2003 10:53

Les dir noch mal durch, was dir hier freundlicherweise aus der Hilfe zitiert wurde. Insbesondere der Letzte Absatz sollte dich interessieren.

(Die Länge eines Strimgs bekommst du mit length.)

nailor 21. Feb 2003 15:23

Vorrausgesetzt es sind keine Leerzeichen erlaubt:

such das letzte Leerzeichen (von hintersten Zeichen aus jedes Zeichen testen), und kopiere alles dahinter mit copy().

Pseudemys Nelsoni 21. Feb 2003 19:09

@Luckie

wenn ich den ganzen string zähle, dann weiss ich aber trotzdem nicht wie lang das letzte wort davon ist

@Neilor:

wie kann ich das denn machen das alles ab dem letzten Space kopiert wird?

gruss :)

Touchdown 21. Feb 2003 19:46

Lass dir was einfallen.

Z.B. mach dir ne kleine Funktion die mit downto arbeitet und nach einem leerzeichen sucht ...

Pseudemys Nelsoni 21. Feb 2003 20:41

jo wenn ich wüsste wies geht würd ich ja hier nichtposten bzw fragen

ich weiss das es einfach ist, für mich aber nicht

gruss^^

nailor 21. Feb 2003 22:46

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const
  test: string = 'hallo du!';
var
  i: integer;
begin
for i := length(test) downto 1 do
  begin
    if test[i] = ' ' then
      begin
        Button1.Caption := Copy(test,i,length(test)-i+1);
        break;
      end;
  end;
end;

Christian Seehase 22. Feb 2003 02:13

Moin Zusammen,

wobei es für diese Suche bereits eine Funktion gibt, nämlich LastDelimiter. Mit der sähe das dann so aus:

Delphi-Quellcode:
procedure TfrmMAIN.Button1Click(Sender: TObject);
const
  test: string = 'hallo du!';
begin
  Button1.Caption := copy(test,LastDelimiter(' ',test)+1,length(test));
end;
Wenn auch andere Zeichen als Trennzeichen gültig sein sollen, kann man statt des Blanks auch eine ganze Liste von Zeichen angeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.
Seite 1 von 4  1 23     Letzte »    

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