Parsing-Hilfe benötigtAnfänger, der Frage analysiert. Wie soll ich vorgehen, um das Datum und den Text nach "Charge" in der Spalte "Description" des im PDF-Importbeispiel im JMP 15 Training Starter verwendeten Datensatzes "Aug_7.pdf" (Screenshot unten und angefügtes PDF) abzurufen? Vielen Dank!

Re: Parsing-Hilfe benötigtDas Datum können Sie durch Umkodieren mit "letztes Wort" erhalten.
Um die Gebühr zu trennen: Sie könnten Regex verwenden, aber Sie könnten auch so etwas tun:
1) Kodieren Sie "on chrg of" und "on charge of" zu einem Zeichen, das im Text nicht vorkommt. Sag mal, eine Tilde. "~"
2) Verwenden Sie nun Text für Spalten mit der Tilde als Trennzeichen.
Wenn Sie die obigen Schritte 1 bis 2 ausgeführt haben, können Sie die resultierende Spalte (nennen Sie sie Spalte X) mit "letztes Wort" neu codieren, um das Datum in einer eigenen Spalte zu erhalten. Anschließend können Sie die Spalte X erneut mit "alles außer zuletzt" codieren, um sie zu entfernen das Datum.
Auch dies könnte man mit Regex tun ... aber es ist ziemlich schnell zu zeigen und zu klicken.
-Brady
Re: Parsing-Hilfe benötigtMit Ausnahme der einfachsten Fälle würde ich Regex zum Extrahieren von Informationen aus freiem Text verwenden. Zum Beispiel,
Regex(
:Name( "Description (A)ttempted, (C)ompleted, (F)elony, (M)isdemeanor" ),
"\d{1,2}/\d{1,2}/\d{4}"
)
bekomme die termine. Und
Regex(
:Name( "Description (A)ttempted, (C)ompleted, (F)elony, (M)isdemeanor" ),
"(Charge|chrg) of ([^,]+)",
"\2",
Ignore Case
)
gibt dir alles nach Charge oder chrg bis zum nächsten Komma, egal in welchem Fall.
Wenn Sie noch nie reguläre Ausdrücke verwendet haben, ist die Lernkurve etwas steil und die Sprache scheint esoterisch zu sein, es sei denn, Sie haben UNIX-Programmierung durchgeführt. Es ist jedoch unglaublich leistungsfähig für diese Art von Situationen. Craige Hales hat im Rahmen von Text Explorer einen phänomenalen interaktiven Regex-Builder erstellt. Sie können dort nach weiteren Beispielen suchen. Mein Lieblings-Tutorial ist hier . Wenn Sie diesen Weg nicht gehen möchten und ich kann verstehen, warum, gibt es einige technische Leute, die helfen können.
Re: Parsing-Hilfe benötigtIch stimme Don zu. Regex ist eines dieser Dinge wie JSL ... schmerzhaft zu lernen, aber unglaublich mächtig.
Regex ist etwas, das ich mir immer verspreche, ich werde es lernen, dann nicht lernen, dann mich selbst verfluchen (mehrmals im Jahr) für nicht gelernt zu haben.
Re: Parsing-Hilfe benötigtWenn Sie Text erhalten möchten, in dem es keine Gebühr oder Chrg gibt, können Sie ein werfen? Das ist ein 0 oder 1 Quantor. Oder Sie möchten Vicitim ähnlich wie Don Showed analysieren.
<SPAN class="token string">"(Charge|chrg)? of ([^,]+)"</SPAN>
ich benutze https://www.debuggex.com/ um meine regulären Expersionen zu protypen. Sie können Testdaten einfügen und verschiedene Regex-Skripte für Testdaten ausprobieren, um zu sehen, was Sie erhalten. Es gibt ein ziemlich gutes Zettel, das ich hilfreich finde.
Re: Parsing-Hilfe benötigtAbgesehen davon kann ich dieses PDF nicht für eine öffentliche Demonstration verwenden. Ich weiß, dass die Daten aus öffentlichen Aufzeichnungen stammen, aber sie haben Namen, Alter und Adressen, die echt sind und von hier in Cary stammen. Es ist möglich, dass einige von ihnen eine Verbindung zu SAS haben. Es fühlt sich ein bisschen verfremdet an, solche Daten in der Öffentlichkeit zu verwenden.
Ich habe mit gesprochen @brady_brady und er wird es vom Trainingsstarter entfernen. Für diejenigen, die den Training Starter bereits heruntergeladen haben, empfehle ich, ihn nicht öffentlich zu verwenden.
Vielen Dank.
Re: Parsing-Hilfe benötigtGuter Punkt Jeff. Wir sollten Daten ohne Namen oder Adressen verwenden.