![]() |
String jeweils nach einem Punkt auslesen
Hi!
ICh brauch mal wieder eure Hilfe! Ich möchte den String jeweils nach einem Punkt auslesen. Die Zeile siht ungefähr so aus: Zitat:
Ich arbeite sonst (wegen D3) mit der jbstr.unit (String manipulation routines V 1.29) Aber ich weiß nicht mit welcher Proc. ich das so filtern kann, wie ich es brauche. Ich denke ich muss auch pos() irgendwie mit einbinden, aber wie? Vielen Dank schonmal... |
Re: String jeweils nach einem Punkt auslesen
Wenn hinter dem Punkt immer eine einstellige Ziffer kommt, dann holst du dir mit
Delphi-Quellcode:
die Stelle wo der Punkt erscheint und mit
pos('.',SubString)
Delphi-Quellcode:
kopierst du dann das Zeichen, das hinter dieser Punktposition kommt.
copy()
|
Re: String jeweils nach einem Punkt auslesen
Delphi-Quellcode:
sTextNachPunkt := Copy(sOriginal, Pos('.', sOriginal) + 1, Length(sOriginal));
|
Re: String jeweils nach einem Punkt auslesen
|
Re: String jeweils nach einem Punkt auslesen
Danke für eure schnellen Antworten werd ich mal durchprobieren :mrgreen:
@Matze Hat Delphi 3 PosEX? :gruebel: |
Re: String jeweils nach einem Punkt auslesen
Zitat:
|
Re: String jeweils nach einem Punkt auslesen
Irgendwie haut das nicht hin. Ich bekomme nicht einmal
den ersten Wert. Was mache ich falsch?
Delphi-Quellcode:
da := StrToInt(copy(List.Strings[2],pos('.',s)));
|
Re: String jeweils nach einem Punkt auslesen
Dein copy-Befehl ist falsch, das dürfte sich so gar nicht kompilieren lassen.
Er erwartet als Parameter
Und dir fehlt da der 3. Parameter |
Re: String jeweils nach einem Punkt auslesen
Sonst such mal in der DP nach 'expolde' oder 'splitstring' damit sollte es auch gehen
|
Re: String jeweils nach einem Punkt auslesen
@ Ultimator
Und wie kann ich ihm da die Anzahl der Zeichen übergeben? |
Re: String jeweils nach einem Punkt auslesen
Delphi-Quellcode:
Das ist ein Beispiel, genaueres dazu findest du in der OH.
Copy('Haus', 2, 1);
Sobald du die erste Klammer eingibst, solltest du sehen, welche Parameter erwartet werden. |
Re: String jeweils nach einem Punkt auslesen
Zitat:
Delphi-Quellcode:
SubString := Copy(QuellString, StartIndex, Längedeszukopierendenstrings);
sTextVorDemPunkt := Copy(sOriginal, 1, Pos('.', sOriginal) - 1);
|
Re: String jeweils nach einem Punkt auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ein quick & dirty PosEx() auch für D3:
Delphi-Quellcode:
TStringList gab es doch schon unter D3 - oder?
function PosEx(const SubStr, S: string; Offset: integer): integer;
begin Result := Pos(SubStr, Copy(S, OffSet, Succ(Length(S) - OffSet))); if Result > 0 then Result := Result + Pred(Offset); end;
Delphi-Quellcode:
Grüße vom marabu
var
sl: TStringList; s: string; i: integer; begin s := 'G1: 32948893948.1 G2: 4324324.0'; sl := TStringList.Create; i := ExtractBetween(s, '.', ' ', sl); ShowMessage(IntToStr(i) + #13#10 + sl.CommaText); sl.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 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 by Thomas Breitkreuz