![]() |
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 |
vielleicht hilft dir die Funktion
pos()
Delphi-Quellcode:
if (pos(bla5,s)>0) and (pos(bla6,s)>0) then
begin ... end; Zitat:
|
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 |
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.) |
Vorrausgesetzt es sind keine Leerzeichen erlaubt:
such das letzte Leerzeichen (von hintersten Zeichen aus jedes Zeichen testen), und kopiere alles dahinter mit copy(). |
@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 :) |
Lass dir was einfallen.
Z.B. mach dir ne kleine Funktion die mit downto arbeitet und nach einem leerzeichen sucht ... |
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^^ |
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; |
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:
Wenn auch andere Zeichen als Trennzeichen gültig sein sollen, kann man statt des Blanks auch eine ganze Liste von Zeichen angeben.
procedure TfrmMAIN.Button1Click(Sender: TObject);
const test: string = 'hallo du!'; begin Button1.Caption := copy(test,LastDelimiter(' ',test)+1,length(test)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 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