AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wort in einem String suchen

Ein Thema von Pseudemys Nelsoni · begonnen am 21. Feb 2003 · letzter Beitrag vom 27. Feb 2003
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Wort in einem String suchen

  Alt 21. Feb 2003, 00:58
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
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#2
  Alt 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.
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#3
  Alt 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
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4
  Alt 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.)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#5
  Alt 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().
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#6
  Alt 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
Mario
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#7
  Alt 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 ...
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#8
  Alt 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^^
Mario
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#9
  Alt 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;
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#10
  Alt 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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:22 Uhr.
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