国防総省の契約額から金額を引き出す

国防総省の契約額から金額を引き出す

私は国防総省のプレスリリースを読んでいます(ここ) で、5 億ドルを超える金額を検索します。各ドキュメントは 1,000 ~ 15,000 ワードで、金額は通常のディスカッション テキストの行に示されています。確認したいドキュメントは約 2,500 件あります。これまでのヒット率 (手動で) は 8 分の 1 程度なので、検索した 8 件のドキュメントごとに、探している金額が記載されているドキュメントが 1 件見つかります。たとえば 5 億 4,600 万ドル相当の契約を見つけたら、会社名、日付、簡単な説明を記録します。

そこで質問なのですが、500,000,000 を超える数字を持つドキュメントの検索を自動化するにはどうすればよいでしょうか?

ここに1つの段落の例を示します

コネチカット州グロトンのジェネラル・ダイナミクス・エレクトリック・ボート社は、2億3,422万9,426ドル現役原子力潜水艦の設計代理店、計画ヤード、エンジニアリングおよび技術サポートのためのコストプラス固定料金契約。この契約にはオプションが含まれており、行使された場合、この契約の累積価値は1,537,500,654ドル作業はコネチカット州グロトン(73%)、ワシントン州バンゴー(9%)、バージニア州ノーフォーク(6%)、ロードアイランド州ニューポート(4%)、ロードアイランド州クォンセット(3%)、ジョージア州キングスベイ(3%)、ハワイ州パールハーバー(2%)で行われ、2015年9月30日までに完了する予定です。2014会計年度のその他の調達(海軍)、2011、2012、2013、2014会計年度の造船転換(海軍)、2014会計年度の研究、開発、試験、評価、および2014会計年度の運用および保守(海軍)資金は、20,333,452ドル契約締結時に義務付けられ、契約資金は 1,520,650ドル会計年度末に期限切れとなります。この契約は、FAR 6.302-1(a)(2)(iii) に従って競争入札されたものではありません。機関の要件を満たすのは、責任ある供給元 1 社のみであり、その他の供給品やサービスは存在しません。契約当事者は、ワシントン D.C. の海軍海上システム司令部です (N00024-14-C-2104)。

これを次のように変えることは可能だと思います

2億3,422万9,426ドル

1,537,500,654ドル

20,333,452ドル

1,520,650ドル

これを一目見るだけで、戻って文書を読む必要があるかどうかを簡単に確認できます。1,537,500,654 という数字だけが見えればさらに良いでしょう。

私にはコーディングのスキルがまったくないので、必要ないことを願っていました。完璧である必要はありません。コピー アンド ペーストはできますが、どうにかしてもっと簡単にしたいと思っています。どこから始めればよいのか、また、私の状況に関係するアプリケーションは何なのか、まったくわかりません。Mac と PC は使用できます。アドバイスをいただければ幸いです。

答え1

新しいブックマークを作成し、次のコードを場所フィールドに貼り付けます。

javascript:%20(function(){var%20s%20=%20'';%20var%20d;%20$.ajax({url%20:%20document.URL,%20success%20:%20function(result){var%20d%20=%20/[$](\d[,]?)+/g%20;%20while%20(m=d.exec(result))%20{s%20+=%20m[0]+'\n';}%20alert(s);}});})();

「ドル値を表示」のような名前で保存します。これはブックマークレットです。Web ページでこれをクリックすると、ページに表示されるすべてのドル値のリストを含むアラートがポップアップ表示されます。

上記のコードはJQueryに依存しているため、使用しているWebページがJQueryをまだロードしていない場合は、これを使用する必要があります。JQueryの追加まずブックマークレット。

試合をカスタマイズします。

ブックマークレットが表示する値を変更するのは非常に簡単です。たとえば、以下のコードは 9 桁以上の金額のみを表示するように変更されています。

javascript:%20(function(){var%20s%20=%20'';%20var%20d;%20$.ajax({url%20:%20document.URL,%20success%20:%20function(result){var%20d%20=%20/[$](\d[,]?){8}(\d[,]?)+/g%20;%20while%20(m=d.exec(result))%20{s%20+=%20m[0]+'\n';}%20alert(s);}});})();

そのコードで を見つけて{8}別の数字に置き換えると、いいえ、切り捨て桁数を変更しますN+1

このブックマークレットをより一般的な用途にカスタマイズしたい場合は、「Javascript 正規表現」を調べて必要な構文を学習する必要があります。コードのこの部分 ( ) は、一致を制御するものです。と/[$](\d[,]?)+/gの間の部分を変更すると、ブックマークレットの一致対象が変更されます。//g

関連情報