Entfernen des Endes einer Zeichenfolge variabler LängeHallo alle,
Ich habe eine Spalte :Protocol, die 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 aber 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 mithilfe der Word()-Funktionen wie folgt zu erreichen:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
Erweiterte statistische ModellierungVerbraucher- und MarktforschungMassenanpassungBetreff: Entfernen des Endes einer Zeichenfolge variabler LängeVielen Dank, ich habe Ihre Lösung ausprobiert und sie hat perfekt funktioniert.Betreff: Entfernen des Endes einer Zeichenfolge variabler LängeIch habe auch darüber nachgedacht, die Funktion Left() zu verwenden. Hier ist meine Meinung:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
Ich empfehle, dass Sie „Hilfe“ > „Skriptindex“ und dann „Funktionen“ > „Zeichen“ auswählen. Es gibt zahlreiche integrierte Unterstützung für die Bearbeitung von Zeichenfolgen.
Betreff: Entfernen des Endes einer Zeichenfolge variabler LängeIch bin einverstanden mit @David_Burnham , Sie können Ergebnisse erhalten, indem Sie direkt links verwenden. Wenn Sie wirklich Word verwenden möchten, können Sie sich vielleicht auf das folgende beziehen (ich habe im Anhang auch eine Datentabelle 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ängeEtwas wie Left(:Protocol, Length(:Protocol) - 4)Betreff: Entfernen des Endes einer Zeichenfolge mit variabler Länge// Ich hatte ein ähnliches Problem mit dem Entfernen des Dateinamens aus dem Dateipfad
Namen werden standardmäßig hier verwendet (1);
dt = Aktuelle Datentabelle();
aktuelle_Datei = dt << Pfad abrufen();
aktuelles_Verzeichnis = Word([1 -2], aktuelle_Datei, "\");
// gib den vollständigen String ([1 -1]) zurück, mit Ausnahme des letzten Wortes ([1 -2])
Daten = Datei auswählen(
"Datendateien auswählen",
aktuelles_Verzeichnis,
{"Excel|csv","JMP-Dateien|jmp;jsl;jrn","Alle Dateien|*"},
1,
0,
"", mehrere
);