Autor Beitrag
Pyr0cracker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Fr 28.03.03 18:33 
HI, gibts irgendeine Möglichkeit einen String an einer bestimmten Stelle zu teilen?
ausblenden 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



BeitragVerfasst: Fr 28.03.03 18:46 
pos, copy. Rest siehe Hilfe.
Wolff68
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 302
Erhaltene Danke: 1

WinXP home
D6 Prof
BeitragVerfasst: Fr 28.03.03 21:27 
Mal auf die schnelle:
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Sa 29.03.03 01:06 
Danke Wolff68, genau das habe ich gesucht.
gruß,
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: Sa 29.03.03 18:02 
Zitat:
ausblenden 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 user profile iconTino: Moderiert.

gruß
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 29.03.03 20:47 
Such mal hier im Forum nach explode. :wink:

Mist falsche Forum. :?

Hier der Link: [www.delphi-forum.de/...13017]explode[/url].
Stonebreaker
Hält's aus hier
Beiträge: 13



BeitragVerfasst: So 30.03.03 17:02 
lol :D

_________________
life is too short --> skate faster
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: 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



BeitragVerfasst: 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. :evil:
Pyr0cracker Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 164

Win XP, Ubuntu 8.04, openSUSE 11.0
Delphi 7 Personal
BeitragVerfasst: 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. :evil:

meinst du mich? *angsthab*
ich hab doch gar nichts gesagt, aber die methode mit explode ist gut,
danke.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 31.03.03 10:27 
Nein, ich meine Cenbells.
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mo 31.03.03 20:37 
:autsch: da hab ich wohl etwas vorschnell gesch(l)ossen.
Ich dachte, der link würde zur php funktion explode gehen.

nicht böse sein :wink: :wink: :wink:

Gruß
Ken
berni
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 17



BeitragVerfasst: 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

ausblenden volle Höhe Quelltext
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 user profile iconTino: Code-Tags hinzugefügt.