AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

String zerlegen

Ein Thema von value is NULL · begonnen am 7. Okt 2010 · letzter Beitrag vom 6. Apr 2013
Antwort Antwort
Seite 1 von 2  1 2   
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.877 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: String zerlegen

  Alt 7. Okt 2010, 11:58
[sehr OT]
Da aber intern Basisadresse + Index * Elementbreite zum Berechner der Addresse verwendet wird, wird oft bei einem Index von 0 gestartet.
[/sehr OT]
Markus Kinzler
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#2

AW: String zerlegen

  Alt 7. Okt 2010, 12:11
Delphi-Quellcode:
      a := Copy(tmp_date, 0, 4);
      b := Copy(tmp_date, 5, 2);
      c := Copy(tmp_date, 7, 2);
so funktionierts perfekt

DANKE
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#3

AW: String zerlegen

  Alt 7. Okt 2010, 12:14
Wie schon gesagt
a := Copy(tmp_date, 0, 4); muss eigentlich
a := Copy(tmp_date, 1, 4); heissen
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824

Geändert von mkinzler ( 7. Okt 2010 um 12:16 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#4

AW: String zerlegen

  Alt 7. Okt 2010, 13:20
das funktioniert prima, ich stehe allerdings schon wieder vor einer
neuen herausforderung... ich habe jetzt nämlich diesen string:

2010\10\07\vctrkdielskdoivüqöökd.wav

um genau zu sein habe ich einige die so aufgebaut sind:

2010\10\07\vctrkdielskdoivüqöökd.wav
2010\10\07\vctrkdkkdow9322qöökd.wav
2010\10\07\vctrkkk3ß2kclsß2kc04.wav

usw usw....
das heisst mit pos usw komme ich hier nicht weiter oder?

gibt es die möglichkeit, das ich delphi sage, schreibe mir alles AB dem 3. Backslash in eine variable?

Danke schon mal

LG
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.223 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: String zerlegen

  Alt 7. Okt 2010, 13:26
gibt es die möglichkeit, das ich delphi sage, schreibe mir alles AB dem 3. Backslash in eine variable?
Ja, per Regex. In neuen Delphi-Versionen ist dies gleich eingebaut, in alten Versionen kannst du die Reg-Ex-Kompos z.B. von LMD oder diversen anderen Quellen nehmen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
551 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: String zerlegen

  Alt 7. Okt 2010, 13:27
Hi,

und was würde dir das bringen?
Oder ist dein Ziel jetzt nicht mehr Tag Monat und Jahr zu bekommen?


Mögiche Lösung wäre über AnsireplaceStr

Delphi-Quellcode:
     
tmp_date := Ansireplacestr(tmp_date, '\', '');
 a := Copy(tmp_date, 1, 4);
      b := Copy(tmp_date, 5, 2);
      c := Copy(tmp_date, 7, 2);
Gruß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

AW: String zerlegen

  Alt 7. Okt 2010, 13:28
Dafür gibt es Delphi-Referenz durchsuchenPosEx oder du zählst manuell mit einer Schleife:

Delphi-Quellcode:
var
  i : Integer;
begin
  i := 1;
  while (i <= Length(S)) and (S[i] <> '\') do
    Inc(i);
Da steht dann nachher in i die Position wo das "\" steht. Und dann mit Delphi-Referenz durchsuchenCopy einlesen:
NewS := Copy(S, i + 1, Length(S) - i); Beides ungetestet.

Übrigens RegEx wären hier etwas overkill oder?

MfG
Fabian
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

AW: String zerlegen

  Alt 7. Okt 2010, 14:08
Hallo,
gibt es die möglichkeit, das ich delphi sage, schreibe mir alles AB dem 3. Backslash in eine variable?
Falls alle Strings so aufgebaut sind, kannst du Delphi-Referenz durchsuchenExtractFileName verwenden.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: String zerlegen

  Alt 7. Okt 2010, 14:28
@hawkeye erschließt sich mir zwar nicht, weil er dann alles bekommt außer den Zahlen

Es gibt keine Allerweltsmethode um aus irgendwas das Datum zu ermitteln.
Man braucht immer die Information, wie das Datum aufgebaut ist, sonst rummst es.
Code:
20102011
Kann ja nun bedeuten 20.10.2011 oder auch 20.11.2010

Um nun eine Funktion zu basteln, die aus einem beliebigen Text das Datum ermittelt, würde ich der Funktion den Text und das Muster mitgeben
Delphi-Quellcode:
GetDateTime( '20102011', 'JJJJTTMM' )
GetDateTime( '2010\10\07\vctrkdielskdoivüqöökd.wav', 'JJJJ?MM?TT*' )
Edit:
Ok, beim nächsten Mal lese ich auch was er wirklich will
Also vergessen wir mal meinen Beitrag
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 7. Okt 2010 um 15:06 Uhr)
  Mit Zitat antworten Zitat
value is NULL

Registriert seit: 10. Sep 2010
249 Beiträge
 
#10

AW: String zerlegen

  Alt 7. Okt 2010, 14:58
extract file name passt wie die faust aufs aug

DANKE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 04:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz