Rimozione della fine di una stringa di lunghezza variabileCiao a tutti,
Ho una colonna :Protocol che contiene stringhe di lunghezza variabile nel formato Character, Nominal. Ho aggiunto alcuni esempi qui sotto. Sto cercando di rimuovere gli ultimi 4 caratteri della stringa dalla colonna e mantenere tutto il resto. Gli ultimi 4 caratteri sono sempre uno di: -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 appaia la colonna per quelle 4 righe:
Protocollo
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
Ho cercato di ottenere questo risultato utilizzando le funzioni di Word() come segue:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
Modellazione statistica avanzataConsumatori e ricerche di mercatoPersonalizzazione di massaRe: Rimozione della fine di una stringa di lunghezza variabileGrazie, ho provato la tua soluzione e ha funzionato perfettamente.Re: Rimozione della 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 Aiuto > Indice di scripting e selezionare Funzioni > Carattere. C'è molto supporto integrato per la manipolazione delle stringhe di caratteri.
Re: Rimozione della fine di una stringa di lunghezza variabileSono d'accordo con @David_Burnham , puoi ottenere risultati usando direttamente left, 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, "-" ) )
);
Re: Rimozione della fine di una stringa di lunghezza variabileQualcosa come Left(:Protocol, Length(:Protocol) - 4)Re: Rimozione della fine di una stringa di lunghezza variabile// Ho avuto un problema simile con la rimozione del nome del file dal percorso del file
I nomi predefiniti sono qui (1);
dt = Tabella dati corrente();
current_file = dt << Ottieni percorso();
directory_corrente = Word([1 -2], file_corrente, "\");
// restituisce la stringa completa ([1 -1]), eccetto l'ultima parola ([1 -2])
dati = Seleziona file (
"Seleziona file di dati",
directory_corrente,
{"Excel|csv","File JMP|jmp;jsl;jrn","Tutti i file|*"},
1,
0,
"", multiplo
);