![]() |
String nach einer zeichenkombination durchsuchen
Hallo,
wie kann ich festellen , ob z.B. im string: "hallo ich bin's." ein "ich" drin ist? |
Re: String nach einer zeichenkombination durchsuchen
Hallo,
schau mal in die Unit StrUtils - AnsiContainsText() wäre es, wenn ich deine Worte auf die Goldschale lege. Grüße vom marabu |
Re: String nach einer zeichenkombination durchsuchen
Delphi-Quellcode:
;)
Pos('ich', 'hallo, ich bins') <> 0
|
Re: String nach einer zeichenkombination durchsuchen
:wiejetzt: ich check weder was Dax meint noch was marabu meint o0 könnt ihr euch vielleicht etwas genauer ausdrücken?
|
Re: String nach einer zeichenkombination durchsuchen
Schon mal die Hilfe konsultiert?
|
Re: String nach einer zeichenkombination durchsuchen
Zitat:
|
Re: String nach einer zeichenkombination durchsuchen
Hallo Christian,
fang klein an und lass dich von mir nicht verwirren:
Delphi-Quellcode:
marabu
var
s, subString: String; begin s := 'hallo ich bin''s'; subString := 'ICH'; if Pos(Lowercase(subString), Lowercase(s)) = 0 then ShowMessage('Pos() sacht: hammer net') else ShowMessage('Pos() sacht: iss da'); if AnsiContainsText(subString, s) then ShowMessage('AnsiContainsText() sacht: iss da') else ShowMessage('AnsiContainsText() sacht: hammer net'); end; |
Re: String nach einer zeichenkombination durchsuchen
Hallo,
ich hab noch ne Frage. Wie kann man überprüfen ob 'ICH' am Ende des Strings steht? :cyclops: |
Re: String nach einer zeichenkombination durchsuchen
Zitat:
![]() ![]() Oder, noch besser. Schreibe Dir eine Funktion welche das nicht für die letzten drei Zeichen macht sonder für die Anzahl der Zeichen die Du suchst ;-) |
Re: String nach einer zeichenkombination durchsuchen
Delphi-Quellcode:
Pos('ich','ich steh nicht am ende') > (Length('ich steh nicht am ende')-Length('ich'))
|
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:
den String "Test" zurückliefern. Und da kann man einfach prüfen ob das zurückgegebene Wort dem gesuchten entspricht.
RightStr('kleiner Test', 4);
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. |
Re: String nach einer zeichenkombination durchsuchen
:thumb: Danke! Ich hatte auch erst so was ähnliches ich hab aber falsch verglichen.
|
Re: String nach einer zeichenkombination durchsuchen
Wenn Du nicht extra die StrUtils einbingen möchtest um
![]()
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; |
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
|
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 08:21 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