einen bestimmten Stachel extrahierenHi,
Ich möchte die Bin-Werte aus den Zeilen extrahieren und in der Liste speichern.
Zum Beispiel-
BIN = "B" 8 "Bad Bump" -> Ich möchte den Buchstaben "B" aus der Zeichenfolge extrahieren und in der Liste speichern
BIN = "P" 6153 "PCM" -> Ich möchte den Buchstaben "P" aus der Zeichenfolge extrahieren und in der Liste speichern, ebenso für alle Zeilen, die bin enthalten
Hier ist, was ich bisher versucht habe. Es extrahiert nur die Zeile 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);
);
SkripterstellungRe: Einen bestimmten Stachel extrahierenWenn dies mit der Textanalyse zusammenhängt Importieren Sie x- und y-Werte aus der Textdatei in die jmp-Tabelle und erstellen Sie eine Waferkarte Ich würde einen anderen Ansatz verwenden. Aber nehmen wir an, dass wir mit der bestehenden Datentabelle beginnen.
Ich würde höchstwahrscheinlich Regex verwenden, wenn das Muster immer gleich bleibt:
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: Einen bestimmten Stachel extrahierenVielen Dank Jarmo. Es klappt
Re: Einen bestimmten Stachel extrahieren@jthi
Ich habe einen anderen Wafer ausprobiert und er funktioniert bei einigen Behältern nicht
FÄCHER = 4
BIN = "A" 2 "Ausrichtung_Die"
BIN = "C" 28615 "D1QM1804101"
BIN = "D" 23501 "D1QM1804102"
BIN = "F" 0 "Fehler" ""
BIN = "N" 0 "Nicht getestet"
BIN = "P" 2806 "PCM-Matrize" ""
bins = {"A", "C", "D", "F\!" 0 \!"Fehler", "N", "P\!" 2806 \!"PCM sterben"};
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: Einen bestimmten Stachel extrahierenIch würde vorschlagen, die Regex entweder auf JMP oder auf zu testen https://regex101.com/r/DPngn1/1 . Wählen Sie eine fehlerhafte Zeichenfolge aus und testen Sie sie dann, um zu sehen, wie und warum sie fehlschlägt. In diesem Fall erfordert mein Regex-Muster eine leichte Änderung, da es manchmal zu viel passt.