Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Aus einem Text nur vordefinierten Bereich kopieren (https://www.delphipraxis.net/215465-aus-einem-text-nur-vordefinierten-bereich-kopieren.html)

Metobaba 8. Jul 2024 22:12

Delphi-Version: 5

Aus einem Text nur vordefinierten Bereich kopieren
 
Hallo zusammen,
ich möchte aus einem Text
"Grundschule m. Erweiterung 2017 - 0712 -"
nur das "- 0712 - rauskopiert haben

kann mir jemand bitte helfen? :-)

himitsu 8. Jul 2024 23:00

AW: Aus einem Text nur vordefinierten Bereich kopieren
 
* an den
Delphi-Quellcode:
-
auftrennen
Delphi-Referenz durchsuchenSplitString
Delphi-Referenz durchsuchenstring.Split
oder Dergleichen

* mit Delphi-Referenz durchsuchenPos und Delphi-Referenz durchsuchenPosEx die
Delphi-Quellcode:
-
suchen
und das dazwischen via Delphi-Referenz durchsuchenCopy rausholen

* via RegEx

* ganz modern eine KI / LLM drauf loslassen

* ...

Hobbycoder 10. Jul 2024 13:26

AW: Aus einem Text nur vordefinierten Bereich kopieren
 
Delphi-Quellcode:
Result:=copy(text, pos('-', text), length(text));
oder
Delphi-Quellcode:
Result:=copy(text, pos('-', text), text.length);
Dann darf in dem Text vor dem "- 0712 -" natürlich kein Bindestich vorkommen ;-)

Oder, wenn die Zahl immer die gleiche Länge hat:
Delphi-Quellcode:
Result:=copy(text, text.length-8, 8);
dann werden immer die 8 letzten Zeichen in Result kopiert.

himitsu 10. Jul 2024 14:07

AW: Aus einem Text nur vordefinierten Bereich kopieren
 
Delphi-Quellcode:
a := Pos('-', Text);
e := Pos('-', Text, e + 1); // Pos mit 3 Parametern, bzw. früher PosEx
Result := Copy(Text, a, e - a + 1);

Delphi-Quellcode:
uses System.RegularExpressions;

var S := 'Grundschule m. Erweiterung 2017 - 0712 -';
ShowMessage(
    '"' + TRegEx.Match(S, '-[^-]*-').Value + '"'
  + sLineBreak
  + '"' + TRegEx.Match(S, '-([^-]*)-').Groups[1].Value.Trim + '"'
);

// Prüfungen auf .Success und .Groups.Count hab ich hier natürlich vergessen


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 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