Einzelnen Beitrag anzeigen

Moombas
(Gast)

n/a Beiträge
 
#7

AW: Buchstaben Kette in Klammern erkennen

  Alt 31. Jan 2019, 11: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;

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