AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi nur bestimmten teil eines Strings auslesen.
Thema durchsuchen
Ansicht
Themen-Optionen

nur bestimmten teil eines Strings auslesen.

Ein Thema von Christian18 · begonnen am 27. Jan 2006 · letzter Beitrag vom 27. Jan 2006
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

nur bestimmten teil eines Strings auslesen.

  Alt 27. Jan 2006, 15:34
Hallo,

wie kann ich aus einen string nur einen bestimmten bereich auslesen???

Bsp.:

hier_ist_der_string{234234}und_so_gehts_weiter

jetzt will ich nur das was in geschweiften klammern steht haben. wie kann ich das machen???

also ich will nur diesen teil haben: 234234

MFG Christian18
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#2

Re: nur bestimmten teil eines Strings auslesen.

  Alt 27. Jan 2006, 15:37
such mit dem befehl pos nach der ersten klammer. dann merkst du dir die position und suchst wieder mit pos die nächste klammer.

mit diesen zwei zurückgegebenen werten kannst du via copy den rest abschneiden. zu jedem befehl gibts hier im forum oder in der delphi hilfe infos.

edit: hab dir mal ein beispiel gemacht wie ich das meine.

Delphi-Quellcode:
var
  I, F: Integer;
begin

  // erste Klammer suchen.
  I := Pos('{', E_Str.Text);
  // Wenn gefunden weiter
  if I > 0 then
    begin
      // nächste Klammer suchen (dazu den String ab der Position I bis zum Ende
      // verwenden.
      F := Pos('}', Copy(E_Str.Text, I, Length(E_Str.Text)));
      // Wenn gefunden weiter
      if F > 0 then
        begin
          // Ausgabe von Start I bis Ende F
          // + 1 um das { zu überspringen und - 2 um das } wegzulassen
          E_Output.Text := Copy(E_Str.Text, I + 1, F - 2);
        end;
    end;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: nur bestimmten teil eines Strings auslesen.

  Alt 27. Jan 2006, 15:39
Oder falls komplizierter ist: TRegExpr-Komponente
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#4

Re: nur bestimmten teil eines Strings auslesen.

  Alt 27. Jan 2006, 15:46
Hallo,

und was mache ich, wenn der string so aussieht!!!

hier_ist_der_string{234234}und_so_gehts_weiterhier _ist_der_string{234234}und_so_gehts_weiter

also, wenn ich 2 klammern drinn habe???

dann hilft mir pos doch auch nicht weiter oder???

ich habe es mit pos auch schon mal versucht

hier:
Delphi-Quellcode:
  var m1, m2 : Integer;
      r : String;
begin
  m1:=Pos('{', s);
  m2:=Pos('}', s);

  r:=Copy(s, m1, m2 - m1);

  Result:=r;
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#5

Re: nur bestimmten teil eines Strings auslesen.

  Alt 27. Jan 2006, 15:48
dann machst du das halt mit einer for oder while schleife.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: nur bestimmten teil eines Strings auslesen.

  Alt 27. Jan 2006, 16:11
Funzt perfekt:

Delphi-Quellcode:
function GetBracketContent(str: String): TStringList;
begin
result:=TStringList.create;
while pos('{',str)>0 do
begin
result.add(copy(str,pos('{',str)+1,pos('}',str)-pos('{',str)-1));
str:=copy(str,pos('}',str)+1,length(str)-pos('}',str));
end;
end;
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:29 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