Extrahieren von Text aus einer Spalte mit ZeichenfolgenHallo,
Ich bin ein Neuling, was Skripting in JMP angeht, und ich versuche, ein Skript zu schreiben, das bestimmte Zahlen aus einer Zeichenfolge extrahieren und für jede neue Spalte erstellen kann. Auf jede Zahl folgen immer die Zeichen „DX“ oder „DY“. Beispiel:
D113U_NTCH_CM_MEAS_CD_SEM_{2UM_X6_NTCH_CM_IMAGE}_DX7DY11SDX11SDY15_2024-12-06_18-57-42.jpg
Ich möchte diese Spalten extrahieren und erstellen:

Natürlich möchte ich diesen Vorgang für eine ganze Datenspalte wiederholen. Ich bin für jeden Rat dankbar. Danke!
Automatisierung und SkriptingBetreff: Text aus einer Spalte mit Zeichenfolgen extrahierenKennen Sie im Voraus alle möglichen Muster (DX, DY, ...)? Befindet es sich immer an der gleichen Stelle (nach }_ und vor dem Datum)?
Betreff: Text aus einer Spalte mit Zeichenfolgen extrahierenWenn ich eine Spalte voller dieser Dateinamen hätte, würde ich „Spalten -> Neu kodieren, rotes Dreieck oben links -> „Zeichenfolge ersetzen““ ausführen und dann „S?D[XY](\d+)“ eingeben und durch „%\1%“ ersetzen, wobei „Reguläre Ausdrücke verwenden“ aktiviert ist. Dann können Sie die Spalte teilen (Spalten -> Dienstprogramme -> Text in Spalten...“) und „%“ eingeben, wodurch Sie 6 neue Spalten mit dem Präfix DX, DY, SDX, SDY und Suffix erhalten, z. B.:
| Spalte 1 2 | Spalte 1 3 | Spalte 1 4 | Spalte 1 5 | Spalte 1 6 | Spalte 1 7 |
| D113U_NTCH_CM_MEAS_CD_SEM_{2UM_X6_NTCH_CM_IMAGE}_ | 7 | 11 | 11 | 15 | _2024-12-06_18-57-42.jpg |
Anschließend können Sie die Spalten in DX, DY usw. umbenennen.
Wenn Ihre tatsächlichen Daten komplizierter sind, muss dieser Vorgang möglicherweise auch etwas komplizierter sein.
Betreff: Text aus einer Spalte mit Zeichenfolgen extrahierenHübsch : )
vielleicht beginnen mit
word(8, filename,"_")
so dass es auch für die Partie DX11A funktioniert.
Betreff: Text aus einer Spalte mit Zeichenfolgen extrahierenEs hat mir geholfen. Vielen Dank für die Hilfe.
Mehr anzeigen...Um Text aus einer Spalte mit Zeichenfolgen in JMP zu extrahieren, können Sie Formeln oder Skripte verwenden. Gängige Methoden sind reguläre Ausdrücke für Mustervergleiche oder Teilzeichenfolgenfunktionen, um bestimmten Text zu isolieren. Die Funktion **Regex()** ist vielseitig für komplexe Muster, während einfachere Extraktionen die Funktionen **Left(), Right(),** oder **Substring()** effektiv nutzen können. Während eines besonders anspruchsvollen Semesters stieß ich auf
https://canadianwritings.com/ und es erwies sich als Lebensretter. Ich brauchte Hilfe bei einem Essay über moderne Literatur und der Service lieferte eine gut recherchierte und perfekt strukturierte Arbeit. Der Autor befolgte meine Anweisungen aufs Wort und das Endergebnis war beeindruckend. Außerdem lieferten sie den Essay vor Ablauf der Frist, sodass ich Zeit hatte, ihn vor der Abgabe gründlich durchzusehen.
Betreff: Text aus einer Spalte mit Zeichenfolgen extrahierenHier ist ein alternativer Ansatz.
Angesichts der Datentabelle

Das folgende Skript erstellt direkt

Names Default To Here( 1 );
// Create and example data table
dt = New Table( "Example",
Add Rows( 1 ),
New Column( "File",
Character,
"Nominal",
Set Values(
{
"D113U_NTCH_CM_MEAS_CD_SEM_{2UM_X6_NTCH_CM_IMAGE}_DX7DY11SDX11SDY15_2024-12-06_18-57-42.jpg"
}
)
)
);
// Add the new columns to the data table
dt << New Column( "DX" );
dt << New Column( "DY" );
dt << New Column( "SDX" );
dt << New Column( "SDY" );
For Each Row(
// Separate the section of the File name into just the DX,DY,SDX,SDY part
string = Word( 1, Substr( :file, Contains( :file, "_DX" ) + 1 ), "_" );
// Change the string into a assignment statements
Substitute Into( string, "SDX", ";:SD_X=", "SDY", ";:SD_Y=", "DX", ";:D_X=", "DY", ";:D_Y=", "_", "" );
string = Substr( string, 2 ) || ";";
// Execute the assignment statements
Eval( Parse( string ) );
);