Extraiga el código de pieza de falla de una cadena no estructuradaHola,
Quiero extraer códigos de piezas de falla de la cadena no estructurada a continuación usando Regex en JSL. Pero no pude conseguirlo porque es complicado.
Reparar T126 y PA21. pase de nuevo examen
cambie L6C, redireccionamiento FTNG4 para volver a realizar la prueba
Prueba 1 falla parte P12; M531, Z6A2. Fallo prueba 2 pieza Z100, RT98; BTGH9. Reelaborar todas las piezas
piezas defectuosas reemplazadas (K3; LG69; AK4T). Continuar con la siguiente prueba
pieza dañada YT10 vuelva a trabajar la pieza, continúe con el siguiente proceso
El resultado requerido en la columna "Código de pieza de falla" debería verse así

Cualquier consejo y ayuda sería muy apreciado.
Gracias
Automatización y secuencias de comandosRe: Extraer código de parte de falla de una cadena no estructuradaCapturar varias cosas con una sola expresión regular no es tan simple en JMP ya que no existe la posibilidad de coincidencia global (
Esta expresión regular bastante simple captura los primeros códigos por usted.
Names Default To Here(1);
dt = Open("$DOWNLOADS/data1.jmp");
failure_pattern = "[A-Z]+\d+[A-Z]?";
Eval(EvalExpr(
dt << New Column("A", Character, Nominal, << Formula(
Regex(:Repair Details, Expr(failure_pattern));
));
));
Y luego el lío de coincidencia de patrones (lo más probable es que se pueda mejorar mucho)
Names Default To Here(1);
dt = Open("$DOWNLOADS/data1.jmp");
str = "failure parts replaced (K3; LG69; AK4T). Proceed to next test";
dt << New Column("A", Character, Nominal, << Formula(
failure_pattern = "([A-Z]+\d+[A-Z]?){1,}";
found_list = {};
Pat Match(:Repair Details,
Pat Any(", (") + Pat Regex(failure_pattern) >> match + Pat Any(" .;,)") + Pat Test(
Insert Into(found_list, match);
0
)
);
Concat Items(found_list, ", ");
)); Re: Extraer código de parte de falla de una cadena no estructuradaRecientemente descubrí una función/opción JMP que puede manejar esto con bastante facilidad.Nueva columna por coincidencia de texto.
Pruebe este script o use la utilidad en Cols->Utilidades con la columna Detalles de reparación seleccionada.
New Column by Text Matching(
Column( :Repair Details ),
Set Regex( Custom( Title( "parts" ), Regex( "([A-Z]+\d+[A-Z]?)" ), Result( "\[\1]\" ), ) ),
Output Column Name( "Failure Part Code" )
);

Re: Extraer código de parte de falla de una cadena no estructuradaGracias Jarmo. ¡Esto es genial!
Re: Extraer código de parte de falla de una cadena no estructuradaGracias por compartir esta función " Nueva columna por coincidencia de texto ". Ayuda.