AGB  ·  Datenschutz  ·  Impressum  







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

Strings zerlegen

Ein Thema von magoo2002de · begonnen am 13. Jul 2004 · letzter Beitrag vom 13. Jul 2004
Antwort Antwort
magoo2002de

Registriert seit: 26. Mär 2003
60 Beiträge
 
Delphi 2005 Personal
 
#1

Strings zerlegen

  Alt 13. Jul 2004, 16:38
Hallo!
Ich weiß, dass es dieses Thema schon häufig gab, doch leider habe ich für mein Problem noch keine Lösung gefunden.
Und zwar lese ich eine Textdatei in ein Memo ein. Jede Zeile ist so aufgebaut:
Code:
{1, "Text"[TABULATOR][TABULATOR], ""}
Nun möchte ich das Wort zwischen den ersten Anführungszeichen auslesen. Das Auslesen geht ja mit Copy und Pos. Aber nun habe ich das Problem, das nicht weiß, wie ich die Länge für den Copy-Befehl hearusbekomme.
Vielen Dank für eure Hilfe!
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Strings zerlegen

  Alt 13. Jul 2004, 16:45
pos + [F1]

Wurde aber schon zu genüge hier behandelt -> Die Suche dürfte üppig Ergebnisse liefern
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
magoo2002de

Registriert seit: 26. Mär 2003
60 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Strings zerlegen

  Alt 13. Jul 2004, 16:50
Ich habe ja schon gesucht. Mein Problem ist folgendes: Wie bekomme ich das mit den Tabulator hin? Ich meine, in der Textdatei steht nicht [TABULATOR] sondern es handelt sich um Tabulator.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Strings zerlegen

  Alt 13. Jul 2004, 16:59
Der Tabulatorsprung hat den ASCII-Code 9 (korrigiert mich bitte falls ich falsch liege). Deshalb:
Pos(9, StringVariable) Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Strings zerlegen

  Alt 13. Jul 2004, 17:01
Zitat von magoo2002de:
Mein Problem ist folgendes: Wie bekomme ich das mit den Tabulator hin? Ich meine, in der Textdatei steht nicht [TABULATOR] sondern es handelt sich um Tabulator.
Gehört der Tabulator zu den Nutzdaten oder dient er nur als Datentrenner ?
Im letzteren Fall kann man ihn mit StringReplace (oder einer effizienteren Procedure) einfach löschen.
s := StringReplace(s, #9, [rfReplaceAll]);
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

Re: Strings zerlegen

  Alt 13. Jul 2004, 17:08
...
Delphi-Quellcode:
 s:='1, "Text"[TABULATOR][TABULATOR], ""';
  repeat
    position:=pos('"',s);
    if position>0 then
    begin
      delete(s,1,position);
      position:=pos('"',s);
      text:=copy(s,1,position-1);
      delete(s,1,position);
    end;
  until position<1;

[edit] fehler beseitigt... [/edit]
  Mit Zitat antworten Zitat
magoo2002de

Registriert seit: 26. Mär 2003
60 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Strings zerlegen

  Alt 13. Jul 2004, 17:14
Vielen Dank. Es hat geklappt!
  Mit Zitat antworten Zitat
choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Strings zerlegen

  Alt 13. Jul 2004, 17:16
Hallo

wenn Du häufiger mit Stringzerlegungen zu tun hast, könnte sich die Mühe lohnen, Hier im Forum suchenreguläre Ausdrücke zu erlernen. Das Extrahieren des Textes sowie die Ausgabe der ersten Zahl könnte dann zB so aussehen:
Delphi-Quellcode:
with RegExp('(\d+).*?\"([^\"]*)\"') do
  if Exec({1, "Text"[TABULATOR][TABULATOR], ""}') then
ShowMessage(
'Number:%d, String:%s', [Match[1], Match[2]]);
gruß, choose
  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 16:36 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