extraer un aguijón particularHola,
Quiero extraer los valores bin de las filas y almacenarlos en la lista.
Por ejemplo-
BIN = "B" 8 "Bad Bump" -> Quiero extraer la letra "B" de la cadena y almacenarla en la lista
BIN = "P" 6153 "PCM" -> Quiero extraer la letra "P" de la cadena y almacenarla en la lista y también para todas las filas que contienen bin
Esto es lo que probé hasta ahora. Solo extrae la fila 13
Names Default To Here( 1 );
Clear Globals();
Clear Log();
dt = current data table();
asa = dt << Get Rows Where (Contains(as column(3), "BIN") & Contains(as column(3), "NULL") == 0);
binlist = {};
startrownumber= asa[1];
for(k =1, k<= Nitems(asa), k++,
Insertinto(binlist, db_test:Bins[asa])
);
binvaluelist= {};
for (i = startrownumber, i <= nitems(asa), i++,
newlist = dt:Bins[i];
word_list = words(newlist, "\!"\!"");
insertinto(binvaluelist, word_list);
);
secuencias de comandosRe: extraer un aguijón en particularSi esto está relacionado con el análisis de texto de Importe los valores x e y del archivo de texto a la tabla jmp y cree un mapa de obleas Yo usaría un enfoque diferente. Pero supongamos que comenzamos con la tabla de datos existente.
Lo más probable es que use Regex si el patrón permanece siempre igual:
Names Default To Here(1);
dt = Open("$DOWNLOADS/Bin table.jmp");
bins = {};
bin_rgx = "\[(?:BIN = \")(.*)(?:\" \d*)]\";
For Each Row(dt,
If(Starts With(:Bins, "BIN = "),
bin_str = Regex(:Bins, bin_rgx, "\1");
Insert Into(bins, bin_str);
);
);
show(bins); // bins = {".", "1", "2", "B", "P", "N", "A", "3", "F"};Re: extraer un aguijón en particularGracias Jarmo. Funciona
Re: extraer un aguijón en particular@jthi
Probé una oblea diferente y no funciona para algunos contenedores
CONTENEDORES = 4
BIN = "A" 2 "Alignment_Die"
BIN = "C" 28615 "D1QM1804101"
BIN = "D" 23501 "D1QM1804102"
BIN = "F" 0 "Fallo" ""
BIN = "N" 0 "No probado"
BIN = "P" 2806 "Troquel PCM" ""
bandejas = {"A", "C", "D", "F\!" 0 \!"Fallo", "N", "P\!" 2806 \!"Troquel PCM"};
dt = current data table();
bins = {};
bin_rgx = "\[(?:BIN = \")(.*)(?:\" \d*)]\";
For Each Row(dt,
If(Starts With(:Bins, "BIN = "),
bin_str = Regex(:Bins, bin_rgx, "\1");
Insert Into(bins, bin_str);
);
);
show(bins); // bins = {"A", "C", "D", "F\!" 0 \!"Fail", "N", "P\!" 2806 \!"PCM die"};
Re: extraer un aguijón en particularSugeriría probar la expresión regular en JMP o en https://regex101.com/r/DPngn1/1 . Elija una cadena que falla y luego pruébela para ver cómo y por qué falla. En este caso, mi patrón de expresiones regulares requiere una ligera modificación, ya que a veces coincide demasiado.