Ansicht
Dokumentation

ABENREPLACE_FUNCTIONS - REPLACE FUNCTIONS

ABENREPLACE_FUNCTIONS - REPLACE FUNCTIONS

BAL_S_LOG - Application Log: Log header data   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- replace

1. ... replace( val = text $[ off = off$] $[len = len$]
               with = new ) ...

2. ... replace( val = text ${ sub = substring$}$|${pcre = regex$}
               with = new $[ case = case$] $[occ = occ$] ) ...


Wirkung

Diese eingebaute Funktion ersetzt ein Teilfeld von text mit der in new angegebenen Zeichenkette und gibt den geänderten Text zurück.

Die Unterfolge wird wie folgt bestimmt:

  • Die Variante mit den Argumenten off und len ersetzt das durch den Offset off und die Länge len bestimmte Teilfeld. Es muss mindestens einer dieser Zusätze angegeben werden.
  • Die Variante mit den Argumenten sub bzw. pcre durchsucht text nach dem in occ angegebenen Vorkommen der Übereinstimmung mit der in substring angegebenen Unterfolge bzw. mit einem in regex angegebenen regulären Ausdruck und ersetzt die Fundstelle.
regex muss einen regulären PCRE-Ausdruck enthalten. Ein regulärer Ausdruck in PCRE-Syntax wird in einem erweiterten Modus kompiliert: Die meisten nicht maskierten Leerräume (Leerzeichen und Zeilenumbrüche) im Muster werden außerhalb von Zeichenklassen ignoriert und Kommentare können hinter # angegeben werden. Bevor Leerräume und # in einem Muster angegeben werden können, müssen sie maskiert werden oder der erweiterte Modus muss im regulären Ausdruck durch (?-x) ausgeschaltet werden.
Wenn occ den Wert 0 enthält, werden alle Fundstellen ersetzt. Wenn substring leer ist, kommt es zu einer Ausnahme der Klasse CX_SY_STRG_PAR_VAL. Die Groß- und Kleinschreibung wird bei der Suche standardmäßig beachtet, was aber mit dem Parameter case übersteuert werden kann. Wenn keine Teilfolge gefunden wird, wird der unveränderte Inhalt von text zurückgegeben.

new ist eine zeichenartige Ausdrucksposition. Wenn sie eine feste Länge hat, werden schließende Leerzeichen nicht berücksichtigt.

Der Rückgabewert ist jeweils vom Typ string.

Hinweise

  • Grenzfälle für die Variante mit den Argumenten off und len:
  • Wenn nur off angegeben ist bzw. für len der Wert 0 angegeben ist, wirkt replace wie die Funktion insert.

  • Wenn nur len angegeben ist bzw. für off der Wert 0 angegeben ist, wird das erste Teilstück der Länge len ersetzt.

  • Wenn der Wert von off gleich der Länge von text ist, muss der Wert von len gleich 0 sein bzw. len ist nicht angegeben. Die Zeichenkette new wird dann am Ende von text angehängt.

  • Wenn mit regex ein regulärer Ausdruck verwendet wird, können in new spezielle Ersetzungsmuster angegeben werden, die einen Bezug auf die jeweilige Fundstelle erlauben. Dabei ist zu beachten, dass die zugehörigen Sonderzeichen $, &, ` und ´ sowie das Fluchtsymbol \ in normalen Ersetzungstexten durch das Voranstellen von \ zu Literalzeichen gemacht werden müssen.

Beispiel

Das Ergebnis der folgenden Ersetzung ist

aa_XX_cc

Das Teilfeld "bb", das bei Offset 3 mit einer Länge von 2 beginnt, wird durch "XX" ersetzt.

Beispiel

Das Ergebnis der folgenden Ersetzungen sind:

aa_bb_cc

und

aabbcc

Zunächst werden alle Vorkommen (occ = 0) des Teilfelds "-" durch "_" ersetzt. Anschließend werden dirse durch einen leeren String ersetzt und somit entfernt.

Das Ergebnis der folgenden Ersetzung ist

title>Thbi/b>s bi/b>s the iTbi/b>tle/i>/title>.

In einer HTML-Zeile wird ein bestimmter Buchstabe mit Format-Tags umgeben, wenn er nicht selbst innerhalb eines Tags steht.

Ausnahmen

Behandelbare Ausnahmen

CX_SY_RANGE_OUT_OF_BOUNDS

  • Ursache: Unzulässige Offset- oder Längenangabe in off und len.
    Laufzeitfehler: STRING_OFFSET_TOO_LARGE

CX_SY_REGEX_TOO_COMPLEX

CX_SY_STRG_PAR_VAL

  • Ursache: Unterfolge in sub bzw. regulärer Ausdruck in regex ist leer.
    Laufzeitfehler: STRG_ILLEGAL_PAR





CPI1466 during Backup   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8722 Date: 20240523 Time: 100416     sap01-206 ( 118 ms )