Eliminar el final de una cadena de longitud variableHola a todos,
Tengo una columna: Protocolo que contiene cadenas de longitud variable en el formato Carácter, Nominal. He añadido algunos ejemplos a continuación. Estoy tratando de eliminar los últimos 4 caracteres de la cadena de la columna y conservar todo lo demás. Los últimos 4 caracteres son siempre uno de: -001, -002, -003 o -004. He intentado lograr esto usando Word() y Substr() pero no puedo hacer que funcione:
Protocolo
AAA-BB-1234-19 -001
AAAA-B-18 -002
AA-BBB-123-18- 003
AA-B-CC-1001-19- 002
Así es como quiero que se vea la columna para esas 4 filas:
Protocolo
AAA-BB-1234-19
AAAA-B-18
AA-BBB-123-18
AA-B-CC-1001-19
He intentado lograr esto usando las funciones de Word() de la siguiente manera:
For Each Row(
:Protocol = Word(1, :Protocol, "00")
);
Modelado Estadístico AvanzadoInvestigación del Consumidor y del MercadoLa personalización en masaRe: Quitar el final de una cadena de longitud variableGracias, probé tu solución y funcionó perfectamente.Re: Quitar el final de una cadena de longitud variableTambién pensé en usar la función Left(). Aquí está mi opinión:
Names Default to Here( 1 );
string = "AAA-BB-1234-19-001";
Left( string, Contains( string, "00") - 2 );
Le recomiendo que seleccione Ayuda > Índice de secuencias de comandos y seleccione Funciones > Carácter. Hay mucho soporte incorporado para manipular cadenas de caracteres.
Re: Quitar el final de una cadena de longitud variableestoy de acuerdo con @David_Burnham , puede obtener resultados directamente usando la izquierda, si realmente quiere usar Word, tal vez pueda consultar este a continuación (también adjunté la tabla de datos en el archivo adjunto):
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: Quitar el final de una cadena de longitud variableAlgo así como Izquierda (: Protocolo, Longitud (: Protocolo) - 4)Re: Quitar el extremo de una cadena de longitud variable// Tuve un problema similar al eliminar el nombre del archivo de la ruta del archivo.
Los nombres predeterminados están aquí (1);
dt = Tabla de datos actual();
archivo_actual = dt << Obtener ruta();
directorio_actual = Word([1 -2], archivo_actual, "\");
// devuelve la cadena completa ([1 -1]), excepto la última palabra ([1 -2])
datos = Elegir archivo(
"Seleccionar archivos de datos",
directorio_actual,
{"Excel|csv","Archivos JMP|jmp;jsl;jrn","Todos los archivos|*"},
1,
0,
"", múltiple
);