Einzelnen Beitrag anzeigen

Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Buchstaben Kette in Klammern erkennen

  Alt 31. Jan 2019, 12:29
sry, dachte das dies über die normale Programmierung ging also Daten aus Datenbank holen, verarbeiten und wieder rein schieben und nicht direkt über den DB Zugriff.

Sonst hätte man es ja recht simpel so lösen können:
Delphi-Quellcode:
procedure XYZ();
var
 i, j : integer;
 IString : string;
 inhalt : string;
begin
  IString := '0361-333333 (Martin) (030)-432432 (Stefan)';
  for i := 1 to length(IString) do //für die länge des ganzen Strings nach der Klammer suchen
  begin
    if (IString[i] = '(') and (IString[i-1] <> '^') then //Wenn die Klammer gefunden wurde und diese nicht schon ersetzt wurde weiter machen
    begin
      inhalt := ''; //Inhalt zurücksetzen
      j := i + 1; //Nach der ( Inhalt auslesen
      while IString[j] <> ')do // ) wurde gefunden
      begin
        inhalt := inhalt + IString[j]; //Inhalt der Klammer auslesen
        inc(j);
      end; // Inhalt der gefundenen Klammern steht fest
      try
        strtoint(inhalt); //Kann der Inhalt in eine Zahl umgewandelt werden?
      except //Nein? Dann ist es ein String und ersetze ( durch ^(
        IString := stringreplace(IString, '('+inhalt+')', '^('+inhalt+')', []);
      end;
    end;
  end;
  Showmessage(IString); // Ergebnis: 0361-333333 ^(Martin) (030)-432432 ^(Stefan)
end;
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas (31. Jan 2019 um 13:21 Uhr) Grund: Kommentiert
  Mit Zitat antworten Zitat