Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi String nach einer zeichenkombination durchsuchen (https://www.delphipraxis.net/63984-string-nach-einer-zeichenkombination-durchsuchen.html)

SirThornberry 2. Mär 2006 11:20

Re: String nach einer zeichenkombination durchsuchen
 
pos gibt dir zurück an welcher Stelle der Teilstring gefunden wurde (einfach mal die hilfe anschauen da steht all sowas drin). Wenn du jetzt kombinierst, könnte man da einfach abfragen ob diese Position + Zeischenanzahl des Teilstrings größer der Länge des Gesamtstrings.
Aber es gibt auch extra funktion wie RightStr. Damit kannst du dir den Teilstring geben lassen der von rechts X-Zeischen lang ist.

Wenn dein String also "kleiner Test" lautet würde dir der Aufruf von
Delphi-Quellcode:
RightStr('kleiner Test', 4);
den String "Test" zurückliefern. Und da kann man einfach prüfen ob das zurückgegebene Wort dem gesuchten entspricht.

Programmieren besteht nicht nur darin zu wissen welche Funktionen man verwenden muss/kann sondern auch darin zu überlegen wie man die Funktionen nutzen kann um an das Ziel zu kommen.

konda 2. Mär 2006 11:25

Re: String nach einer zeichenkombination durchsuchen
 
:thumb: Danke! Ich hatte auch erst so was ähnliches ich hab aber falsch verglichen.

Sharky 2. Mär 2006 11:28

Re: String nach einer zeichenkombination durchsuchen
 
Wenn Du nicht extra die StrUtils einbingen möchtest um Delphi-Referenz durchsuchenRigthStr zu haben kannst Du dir ja mal diesen kleinen Code ansehen:

Delphi-Quellcode:
function CompareRightString (aString, aSubstring : string; aIgnoreCase : Boolean = True) : Boolean;
var
  RightString : String;
begin
  result := False;
  if (Length (aString) < Length(aSubString)) then
  begin
    exit;
  end;
  RightString := Copy (aString,(Length(aString) - Length(aSubString)+1),Length(aSubstring));
  if (aIgnoreCase) then
  begin
    result := AnsiUpperCase(RightString) = AnsiUpperCase(aSubString);
  end
  else
  begin
    result := RightString = aSubString;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if CompareRightString('Hallo ich','Ich',False) then
  begin
    ShowMessage('blubb');
  end;
end;

SirThornberry 2. Mär 2006 12:00

Re: String nach einer zeichenkombination durchsuchen
 
hab grad noch eine funktion für die ganz faulen gefunden, allerdings auch in der StrUtils (bzw. in der Hilfe): AnsiEndsText

konda 2. Mär 2006 16:38

Re: String nach einer zeichenkombination durchsuchen
 
Ja, so gehts auch, ich nem aber lieber die Funktion in StrUtils. :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:28 Uhr.
Seite 2 von 2     12   

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