問題タブ [text-parsing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++での文字列の解析
私は膨大なログ行のセットを持っており、各行を解析する必要があります(したがって、効率は非常に重要です)。
各ログ行は次の形式です
cust_name time_start time_end(IPまたはURL)*
したがって、IPアドレス、時間、時間、およびセミコロンで区切られたIPアドレスまたはURLの空のリストの可能性があります。最後のリストにipまたはurlしかない場合、区切り文字はありません。1を超える場合は、セミコロンで区切られます。
この行を解析してデータ構造に読み込む方法が必要です。time_startまたはtime_endは、システム時刻またはGMTのいずれかです。cust_nameには、スペースで区切られた複数の文字列を含めることもできます。
これを行うには、文字ごとに読み取り、基本的に自分のパーサーを作成します。これを行うためのより良い方法はありますか?
python - Vimでファイルの行と列の内容を転置する方法は?
Awk を使用できることはわかっていますが、私は Windows ボックスを使用しており、Awk を持っていない可能性のある他のユーザー向けの関数を作成しています。私は C プログラムを書くことができることも知っていますが、私が作成している小さな Vim ユーティリティのためにコンパイルとメンテナンスを必要としないものを持ちたくありません。
元のファイルは次のようになります。
転置後、次のようになります。
アップデート
- 正解の選択にはゴルフのルールが適用されます。
- Python ファンは、以下の Charles Duffy の回答を確認してください。
regex - 正規表現と XSS の「戦争」
私は常に、フォーラムやブログのような Web ソフトウェアを作成することに興味を持っていました。これは、限定的なマークアップを使用して HTML に書き直すものです。しかし最近、PHP について、「PHP BBCode parser -PEAR」をググってみて、いくつか試してみると、非効率的な混乱が生じるか、あちこちに XSS ホールのある貧弱なコードが得られることにますます気づきました。
前述の貧弱な BBCode パーサーの例を挙げると、どのように XSS を回避しますか? リンクを処理するための典型的な正規表現を取り上げます。リンクの脆弱性と回避方法について言及できます。
画像タグの処理は、これほど安全ではありません。
そのため、主に PHP の実装に固有の質問がいくつかあります。
- この例では、uri/url 検証式を使用してのみ一致させることをお勧めしますか? または、コールバックを使用
(.*?)してから、入力が有効なリンクかどうかを確認する方がよいでしょうか? 上記で明らかなようにjavascript:alert('XSS!')、上記の URL タグでは機能しますが、URI マッチングが行われると失敗します。 - コールバック内のような関数はどう
urlencode()ですか? (URI 標準に関する限り) 抑止力や問題になりますか? - フルスタック パーサーを作成する方が安全でしょうか? それとも、そのようなものを開発して使用するために必要な時間と処理能力は、ページごとに複数の異なるエントリを処理するものには重すぎますか?
私の例は多くの例の 1 つであり、いくつかの例よりも具体的であることはわかっています。ただし、独自のものを提供することをためらわないでください。 そこで、テキスト解析状況における XSS 保護の原則とベスト プラクティス、および一般的な推奨事項を探しています。
c# - 文字列の解析、数字と文字の抽出
文字列を解析して数字と文字を抽出する最も簡単な方法は何ですか? 「10A」、「B5」、「C10」、「1G」などの形式(数字|文字または文字|数字)の文字列があります。
"10A" -> "10" と "A" の 2 つの部分を抽出する必要があります。
更新:すべての優れた回答に感謝します
c# - テキストファイルで使用されている区切り文字をどのように検出する必要がありますか?
CSVファイルとTSVファイルの両方を解析できる必要があります。私はユーザーに違いを知ってもらうことができないので、ユーザーにタイプを選択するように頼むことは避けたいと思います。どの区切り文字が使用されているかを検出する簡単な方法はありますか?
1つの方法は、すべての行を読み取り、タブとコンマの両方をカウントして、すべての行で最も一貫して使用されているものを見つけることです。もちろん、データにはコンマやタブを含めることができるので、言うのは簡単かもしれません。
編集:このプロジェクトのもう1つの楽しい側面は、ファイルを読み込んだときにファイルのスキーマも検出する必要があることです。これは、ファイルが多数ある可能性があるためです。これは、解析できるようになるまで、フィールドがいくつあるかわからないことを意味します。
java - OCR を使用した PDF テキスト抽出アプローチ
OCR ライブラリと Java を使用して PDF からテキストを抽出しようとした人はいますか? テキスト抽出で最も信頼できるライブラリは何ですか。私が見たアプローチ (tesseract、GOCR) のほとんどは、いくつかの JNI コードを作成する必要がある C ライブラリです。
バージョン 0.8.x の Apache インキュベーター プロジェクトである pdfbox に精通していますが、テキスト抽出が常に正確であるとは限りません。もう少し信頼できる代替アプローチを探しています。
私はまだ Asprise JavaPDF を試していませんが、それを試している途中ですが、OCR アプローチについてもっと知りたいと思っていました (可能であれば)。
どんな助けでも大歓迎です。
c# - 一部のコンテンツをスキップしてC#でテキストファイルを解析する
見出しと本文を含むテキストファイルを解析しようとしています。このファイルの見出しには、本文のセクションへの行番号参照があります。例えば:
これは、SECTION_Aが256行目から始まることを意味します。
この見出しを辞書に解析し、必要に応じてセクションを読むための最良の方法は何でしょうか。
典型的なシナリオは次のとおりです。
- ヘッダーを解析し、セクションSECTION_Bを読み取り専用にします
- ヘッダーを解析し、各セクションの最初の段落を読みます。
データファイルは非常に大きいので、すべてをメモリにロードして操作したくはありません。
私はあなたの提案をいただければ幸いです。私の環境はVS2008とC#3.5SP1です。
string - str.find() に問題がある
str.find() を使用しようとしていますが、エラーが発生し続けます。何が間違っていますか?
エラー
