テキストエクスプローラでの大文字と小文字を区別する処理アカデミックエリアのユーザーから、大文字と小文字を区別するモードで単語をピックアップするオプションがあるかどうかを尋ねられました。テキストエクスプローラープラットホーム。
例として、以下のスクリプトを実行してください。 彼は言葉を次のように見せたい「JMP」レポートに表示されますが、JMPのテキストエクスプローラーは「jmp」 。
dt = New Table("Test", New Column("Y", Character, Values({"JMP JMP JMP JMP JMP JMP"})));
dt << Text Explorer(
Text Columns( :Y ),
Set Regex( Custom( Title( "Test" ), Regex( "\[(.+?(\s|\Z))]\" ), Result( "\[\1]\" )))
);
[バックグラウンド]
彼のデータのほとんどすべての文字は日本語です。 文字のごく一部だけがアルファベットです。 彼は他のソフトウェアで単語を拾い上げ、単語のリストを作成します。 彼のトークン化されたデータでは、各単語はスペースで区切られています。 (つまり、彼はJMP以外のソフトウェアによってデータをトークン化しています。) 彼は、JMPがこれらのトークン化された単語をそのまま処理することを望んでいます。
Re:テキストエクスプローラでの大文字と小文字を区別する処理テキストを解析する最初のステップは、いずれかの解析方法を開始する前に、テキストをすべて小文字に変換することです。 Regexからの戻り結果に関数(たとえば、Title Case(string))を適用しようとしましたが、文字列の代わりに式を取得します。 (は?)
そのようなトークンのリストが小さい場合は、テキストエクスプローラーの再コード化ルールが最適な方法である可能性があります。 スクリプト化できるので、例外のリストからコードを作成できる可能性があります。
Re:テキストエクスプローラでの大文字と小文字を区別する処理アドバイスありがとうございます。
私も試しました
Title Case(\1)
と
Upper Case(\1)
正規表現の結果。 ご覧のとおり、「titlecase(jmp)」と「uppercase(jmp)」が返されます。
Recodeオプションも、大文字と小文字を区別しない方法で文字を処理するようです。 [再コード化]ウィンドウで「jmp」を「JMP」に変更しても、テキストエクスプローラーは小文字(つまり「jmp」)に戻ります。
とにかく、アドバイスありがとうございます。 テキストエクスプローラーのように文字を扱うオプションはないと強く思います。
一般的に、日本語のテキストのトークン化は非常に難しい作業です。 そのため、ユーザーはトークン化に他のソフトウェアを使用します。 ユーザーは、大文字と小文字を区別する処理が非常にまれな使用法であることに同意する必要があります(特に西洋言語の場合)。