Was ist Dein Problem das Suchen und Ersetzen?
Dies kann relativ einfach mit der Built-in-Funktion %Replace() bewerkstelligt werden.
%Replace(NeuerString: StartPosition: LängeAlterString)
Es wird jeweils nur das erste Vorkommen ersetzt. Wenn also alle Vorkommen ersetzt werden müssen, muss eine Schleife programmiert werden.
Im folgenden Beispiel wird 'ABC' durch 'ZXYDE' ersetzt.
Falls Du bereits auf Release V5R3M0 bist, kannst Du auch die SQL-Funktion REPLACE verwenden, die alle Vorkommen ersetzt.PHP-Code:D Text50 S 50A inz(*Blanks)
D MyString S 10A varying
D NewString S 10A varying
D Position S 5U 0
*---------------------------------------------------------
/free
Text50 = 'ABCxyABCvwABC123ABC50';
Dsply Text50;
MyString = 'ABC';
NewString = 'ZXYDE';
Position = 1;
DoW %Scan(MyString: Text50: Position) <> *Zeros;
Text50 = %Replace(NewString: Text50:
%Scan(MyString: Text50: Position): %Len(MyString));
Dsply Text50;
Enddo;
Dsply Text50;
*INLR = *ON;
/End-Free
BirgittaPHP-Code:c/EXEC SQL Set :Text50 = Replace(:Text50, :MyString, :NewString)
C/END-EXEC
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks