String replace-Methode in RPG IV
In RPG IV-wie kann ich einen string um und entfernen Sie alle Instanzen eines Zeichens in einem bestimmten oder ersetzen Sie Sie mit anderen ?. Dies ist eine Art, wie string ersetzen integrierten Methoden in anderen programmnig Sprachen. Ex: nehmen Sie 021-123450-23-4 und verdeckte zu 021123450234
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die korrekte syntax für %xlate ist:
%XLATE(aus:to:string, {: startpos})
Ersetzt alle Bindestriche mit ein kaufmännisches:
new_string = %xlate('-':'&':string);
Um alle Bindestriche zu entfernen:
Nicht entfernen, ein Zeichen mit &xlate. 7.1 gibt uns %scanrpl, aber davor, so etwas wie dieses:
Werfen Sie einen Blick auf die folgenden Artikel:
Dieser soll helfen.
ich hatte das gleiche problem. also schrieb ich mein eigenes RPG-Prozedur, die tut es für mich:
Da RPG ist sehr wählerisch in Bezug auf die Spalte, um die Dinge in, wenn Sie kopieren und Weiterverwendung dieser code, müssen Sie möglicherweise passen Sie Ihre eingefügten text, also es gibt 5 Leerzeichen vor 'D*', '**', und 'P skReplace ...'. Sechs Leerzeichen vor dem '/frei". Und der gesamte code zwischen den " /free lines haben 7 oder mehr Räume.
Ich begrüße alle Vorschläge zur Verbesserung dieses Codes.
Ich habe auch Verfahren für Links, Rechts und in der Mitte, wenn jemand Sie haben will. Nur msg mich, wenn Sie tun. Ich bin glücklich, Sie zu teilen. Ich kenne RPG hat ein '%subst " - Funktion, aber viele Programmiersprachen sind wählerisch, wie Sie Fehler, wenn Parameter ungültig sind. Mine stattdessen geben Sie mehr Flexibilität, zum Beispiel, Links('aoeu', -1) gibt 'aoe' (1 Zeichen kurz vor der vollständigen Zeichenfolge) und Rechten('aoeu', -1) gibt 'oeu' (der Rechte Teil der Zeichenkette nach dem 1 Zeichen entfernt). Mein Mid-Verfahren ermöglicht auch eine negative Startposition, Indizierung vom Ende der Zeichenfolge zu, die ich gefunden habe, um nützlich zu sein für mich. Aber Sie sind frei, für jedermann, das will, um die Zeit zu verbringen, mich zu Fragen, für Sie.
Happy Coding!
Entfernen, ein Zeichen, das Sie verwenden können, diese