Rimozione della fine di una stringa di lunghezza variabileCiao a tutti,
Ho una colonna: Protocollo che contiene stringhe di lunghezza variabile nel formato Carattere, Nominale. Ho aggiunto alcuni esempi di seguito. Sto cercando di rimuovere gli ultimi 4 caratteri della stringa dalla colonna e di mantenere tutto il resto. Gli ultimi 4 caratteri sono sempre uno tra: -001, -002, -003 o -004. Ho provato a farlo usando Word () e Substr () ma non riesco a farlo funzionare:
Protocollo
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
Questo è come voglio che la colonna appaia per quelle 4 righe:
Protocollo
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
Ho provato a farlo usando le funzioni Word () come segue:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
ScriptingOggetto: rimuovere la fine di una stringa di lunghezza variabileQualcosa come Left (: Protocol, Length (: Protocol) - 4)Oggetto: rimuovere la fine di una stringa di lunghezza variabileSono d'accordo con @David_Burnham , puoi ottenere risultati usando direttamente sinistra, se vuoi davvero usare la parola, forse puoi fare riferimento a questo qui sotto (ho anche allegato la tabella dei dati in allegato):
Names Default To Here( 1 );
Clear Log();
dt = Current Data Table();
new_col = dt << New Column( "Trimmed Protocol",
character,
formula( Word( [1 -2], :Protocol, "-" ) )
);
Oggetto: rimuovere la fine di una stringa di lunghezza variabileHo pensato di usare anche la funzione Left (). Ecco la mia opinione:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
Ti consiglio di selezionare Guida> Indice di scripting e selezionare Funzioni> Carattere. C'è molto supporto integrato per la manipolazione delle stringhe di caratteri.