| Autor |
Beitrag |
Pyr0cracker
      
Beiträge: 164
Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
|
Verfasst: Fr 28.03.03 18:33
HI, gibts irgendeine Möglichkeit einen String an einer bestimmten Stelle zu teilen?
Quelltext 1: 2: 3: 4: 5: 6:
| die ganze variable: ganzer_text:='pyr0cracker[b]&[/b]niedersachsen'
die geteilten: name:='pyr0cracker' adresse:='niedersachsen' |
ich meine das so das ich z.b. beim & den string teile.
danke im vorraus
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Fr 28.03.03 18:46
pos, copy. Rest siehe Hilfe.
|
|
Wolff68
      
Beiträge: 302
Erhaltene Danke: 1
WinXP home
D6 Prof
|
Verfasst: Fr 28.03.03 21:27
Mal auf die schnelle:
Quelltext 1: 2:
| name := Copy(ganzer_text, 0, Pos('[', ganzer_text)-1); adresse := Copy(ganzer_text, Pos('/b]', ganzer_text)+1, Length(ganzer_text); |
ungetestet
Mit dem +1 und -1 musst eventuell ein bischen experimentieren.
_________________ "Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."
|
|
Pyr0cracker 
      
Beiträge: 164
Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
|
Verfasst: Sa 29.03.03 01:06
Danke Wolff68, genau das habe ich gesucht.
gruß,
|
|
Pyr0cracker 
      
Beiträge: 164
Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
|
Verfasst: Sa 29.03.03 18:02
| Zitat: | Quelltext 1: 2:
| name := Copy(ganzer_text, 0, Pos('[', ganzer_text)-1); adresse := Copy(ganzer_text, Pos('/b]', ganzer_text)+1, Length(ganzer_text); | |
ist gut, aber kann ich den String auch in mehr als 2 Teile spalten?
also man müsste irgendwie "weitersuchen" können...
bsp:
gesamt='eins&zwei&drei&vier&etc...';
teil1:='eins';
teil2:='zwei';
teil3:='drei';
teil4:='vier';
teil5:='etc ...';
Moderiert von Tino: Moderiert.
gruß
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Sa 29.03.03 20:47
Such mal hier im Forum nach explode.
Mist falsche Forum.
Hier der Link: [ www.delphi-forum.de/...13017]explode[/url].
|
|
Stonebreaker
Hält's aus hier
Beiträge: 13
|
Verfasst: So 30.03.03 17:02
lol 
_________________ life is too short --> skate faster
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: So 30.03.03 21:39
nee nicht explode,
aber im ernst, du könntest dir eine art explode selber schreiben, ist doch nicht so aufwendig. Übergibst den Delimiter und dann musst du halt nen Array zurückgeben...
Und in der Funktion machst du das, wie oben schon gesagt, in einer schleife, mit der abbruchbedingung
while pos(delimiter, AText) > 0 do begin
end;....
Gruß
Ken
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: So 30.03.03 22:23
Dürfte ich den Herren mal bitten auf den Link zu klicken, da er es anscheinend nicht getan hat. 
|
|
Pyr0cracker 
      
Beiträge: 164
Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
|
Verfasst: Mo 31.03.03 09:49
| Luckie hat folgendes geschrieben: | Dürfte ich den Herren mal bitten auf den Link zu klicken, da er es anscheinend nicht getan hat.  |
meinst du mich? *angsthab*
ich hab doch gar nichts gesagt, aber die methode mit explode ist gut,
danke.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 31.03.03 10:27
Nein, ich meine Cenbells.
|
|
CenBells
      
Beiträge: 1547
Win 7
Delphi XE5 Pro
|
Verfasst: Mo 31.03.03 20:37
 da hab ich wohl etwas vorschnell gesch(l)ossen.
Ich dachte, der link würde zur php funktion explode gehen.
nicht böse sein
Gruß
Ken
|
|
berni
      
Beiträge: 17
|
Verfasst: Di 01.04.03 13:52
Explode ist ja auch ganz nett.
Ich hatte mir mal sowas gebastelt als Schnellschuss, ging für meine Zwecke auch ...
Gruss,
Bernd
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| function TfrmXYZ.split(input:string; schar:char; s:integer): string; { Diese Funktion nimmt einen String INPUT, einen Delimiter SCHAR und einen Positionswert S und gibt den Teilstring zurück, der vor dem S-ten auftreden von SCHAR steht. INPUT:="Hallo -/- Welt" , SCHAR:="/", S:=1 -> RETURN: "Hallo -" INPUT:="Hallo -/- Welt" , SCHAR:="/", S:=2 -> RETURN: "- Welt" INPUT:="Hallo -/- saublöde -/- Welt" , SCHAR:="/", S:=2 -> RETURN: "- saublöde -" } var i,n: integer; schop: string; begin n := 0; for i := 1 to length(input) do begin if (input[i] = schar) then begin inc(n); if n = s then begin split := schop; exit; end else schop := ''; end else begin schop := schop + input[i]; end; end; split := schop; end; |
Moderiert von Tino: Code-Tags hinzugefügt.
|
|