![]() |
Wort aus String extrahieren
Mahlzeit zusammen!
Ich möchte für mein nächstes Großprojekt (relativ gesehen - ich bin neu in Pascal) einzelne Wörter aus einem String extrahieren. Im Moment sieht der Code so aus:
Delphi-Quellcode:
Die Funktion soll dann mit WordFromString('eins zwei drei vier',3) das dritte Wort auslesen und als result festlegen. Soweit funktioniert es auch. Aber:
Function WordFromString(Str:String;WordPos:Integer):String;
Var Character,FinalWord:String;i,j:Integer; Begin j:=0; i:=0; repeat begin Finalword:=''; repeat begin Character:=Str[1+i]; i:=i+1; Finalword:=Finalword+Character end until (Character='') or (Character=' '); j:=j+1; end until j=WordPos; result:=Finalword End; Sobald ich das letzte Wort auslesen lassen möchte, schmiert mir der Debugger ab :[ Es wäre genial, wenn mir da jemand helfen könnte oder einen nützlichen Tipp parat hat ;) LG |
Re: Wort aus String extrahieren
Definiere
Zitat:
Damit kann man so nicht viel anfangen. :) |
Re: Wort aus String extrahieren
Hmm, nun gut...
Mir ist grad auf dem Klo eine Idee gekommen *g* Das Problem lag daran, dass er den String anscheinen weiter auslesen möchte, wenn dieser bereits zu Ende ist. Sprich, das
Delphi-Quellcode:
scheint nicht seinen Zweck erfüllt zu haben.
until
(Character='') or (Character=' '); Habe das ganze nun so gefaked, dass dem String ein weiteres Leerzeichen (Im Quelltext) hinten angefügt wird. So funktioniert es tadellos. Aber das Ganze geht doch bestimmt sehr viel eleganter, oder? @ste_ett: Was genau brauchst Du? Das Error-Fenster oder den Log? Ich werde aus beiden nicht sonderlich schlau, daher kann ich nicht feststellen, welcher davon nun der hilfreichere ist ;) |
Re: Wort aus String extrahieren
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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