Einzelnen Beitrag anzeigen

Trafel21

Registriert seit: 16. Nov 2018
69 Beiträge
 
#8

AW: Buchstaben Kette in Klammern erkennen

  Alt 31. Jan 2019, 13:29
Danke für deine Hilfe und deinen Aufwand Moombas, leider bin ich im SQL unterwegs und schreibe eine Procedur. In SQL gibt es keine for schleifen, was ich ziemlich behämmert finde.

Eine ähnlcihe logik hatte ich zusammengebaut.

Code:
I=0;
NUMBER_C = '';
NUMBERS = '';
    while (:I<CHAR_LENGTH(:IN_NUMBERS)) do // String durchgehen
    begin
      I=:I+1;
      NUMBER_C = SUBSTRING(:IN_NUMBERS FROM :I FOR 1);
     
      if (NUMBER_C SIMILAR TO '(') then // Wenn ( gefunden
      begin
        NUMBERS = :NUMBER_C; -- ( auslesen
        I=:I+1;

        while (:I<CHAR_LENGTH(:IN_NUMBERS)) do // weitere while schleife für Buchstaben
        begin
          IF (:NUMBER_C SIMILAR TO '[[:ALPHA:]äöüÄÖÜß]') THEN // Wenn Zeichen ein Buchstabe ist...
          begin
            NUMBERS = NUMBERS || :NUMBER_C; // Nach der ( Buchstabeninhalt auslesen

            IF (:NUMBER_C SIMILAR TO '`') THEN // Wenn ) gefunden
            begin
              NUMBERS = NUMBERS || :NUMBER_C; -- ) auslesen

              IN_NUMBERS = REPLACE(:IN_NUMBERS,NUMBERS,NUMBERS||'^'); // zur Trennung ^ setzen
            end
          end
          else
          begin
          break; /* break aus der while, keine Buchstabe */
          end
        I=:I+1;
        end
      end
    end
Hier funktioniert nur das if (NUMBER_C SIMILAR TO '(') nicht. Es kommt ein Fehler "Invalid SIMILAR TO pattern".

Ziemlich verzweifelnd.
  Mit Zitat antworten Zitat