Frage zur richtigen FunktionDer Versuch, die rechte Funktion wie unten in meinem JSL-Code zu verwenden
dt << New Column("ORIG_MARK",Character,Nominal,Formula(Right(:result,(Contains(:result,"_",3)))));
Das Ergebnis dieser Anweisung ist wie folgt, aber ich beabsichtige, das "_" aus jeder Zeile in der Spalte ORIG_MARK zu entfernen. Wie kann ich die obige Anweisung ändern, um dies zu erreichen?
| Ergebnis | ORIG_MARK |
| ORIG_MARK_A | _EIN |
| ORIG_MARK_B | _B |
| ORIG_MARK_C | _C |
| ORIG_MARK_D | _D |
| ORIG_MARK_E | _E |
SkripterstellungRe: Frage zur richtigen FunktionRight(str, n) gibt Ihnen die richtigen n Zeichen von str zurück. Contains(str, pattern, n) gibt den ersten Index des Musters in str ab n zurück. Wenn Sie eine Zeichenfolge nach dem letzten "_" erhalten möchten, würde ich Word() oder Substitute() verwenden, um "ORIG_MARK_" zu entfernen. Wenn Sie Right() verwenden möchten, müssen Sie die Länge der Zeichenfolge berechnen, die Sie erhalten möchten, indem Sie beispielsweise eine Kombination aus Length() und Contains() verwenden.
Hier ist eine Option mit Word():
Word(-1, :result, "_")
Beispiele finden Sie im Skriptindex.