Entfernen des Endes einer Zeichenfolge variabler LängeHallo alle,
Ich habe eine Spalte: Protokoll, das Zeichenfolgen variabler Länge im Format Zeichen, Nominal enthält. Ich habe unten einige Beispiele hinzugefügt. Ich versuche, die letzten 4 Zeichen der Zeichenfolge aus der Spalte zu entfernen und alles andere beizubehalten. Die letzten 4 Zeichen sind immer eines von: -001, -002, -003 oder -004. Ich habe versucht, dies mit Word () und Substr () zu erreichen, kann es jedoch nicht zum Laufen bringen:
Protokoll
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
So soll die Spalte für diese 4 Zeilen aussehen:
Protokoll
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
Ich habe versucht, dies mit den Word () - Funktionen wie folgt zu erreichen:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
SkriptingBetreff: Entfernen des Endes einer Zeichenfolge variabler LängeSo etwas wie Links (: Protokoll, Länge (: Protokoll) - 4)Betreff: Entfernen des Endes einer Zeichenfolge variabler LängeIch bin einverstanden mit @ David_Burnham Wenn Sie wirklich ein Wort verwenden möchten, können Sie sich auf dieses unten beziehen (ich habe auch die Datentabelle im Anhang angehängt):
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
new_col = dt << New Column( "Trimmed Protocol",
character,
formula( Word( [1 -2], :Protocol, "-" ) )
);
Betreff: Entfernen des Endes einer Zeichenfolge variabler LängeIch dachte auch daran, die Left () -Funktion zu verwenden. Hier ist meine Einstellung:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
Ich empfehle, dass Sie Hilfe> Skriptindex und Funktionen> Zeichen auswählen. Es gibt eine Menge integrierter Unterstützung für die Bearbeitung von Zeichenketten.