タグ付けされた質問 「parsing」

解析とは、アーティファクトを構成要素に分割し、それらの要素間の関係をキャプチャすることを指します。このタグは、自己ホスト型の解析プラットフォーム([parse-platform]タグを使用)に関する質問や、特定のプログラミング言語での解析エラー(代わりに適切な言語タグを使用)用ではありません。

16
URL文字列を解析してキーの値を取得する最良の方法は?
次のようなURL文字列を解析する必要があります。 &ad_eurl=http://www.youtube.com/video/4bL4FI1Gz6s&hl=it_IT&iv_logging_level=3&ad_flags=0&endscreen_module=http://s.ytimg.com/yt/swfbin/endscreen-vfl6o3XZn.swf&cid=241&cust_gender=1&avg_rating=4.82280613104 NSStringをcid=241とのような記号部分に分割する必要があり&avg_rating=4.82280613104ます。私はこれをやっていsubstringWithRange:ますが、値はランダムな順序で返されるので、それを台無しにします。基本的にNSDictionaryに変換してキーの値を読み取れるようにする簡単な解析を可能にするクラスはありますか(たとえば、ValueForKey:cidは戻る必要があります241)。またはNSMakeRange、部分文字列を取得するために使用するよりも簡単に解析する方法はありますか?


11
Double.TryParseまたはConvert.ToDouble-どちらがより速く、より安全ですか?
私のアプリケーションは、VSTOを使用してExcelファイルを読み取り、読み取ったデータをに追加しますStringDictionary。数桁の数字であるデータのみを追加します(1000 1000,2 1000,34-コンマはロシアの標準では区切り文字です)。 現在の文字列が適切な数値であるかどうかを確認する方がよいでしょうか。 object data, string key; // data had read try { Convert.ToDouble(regionData, CultureInfo.CurrentCulture); dic.Add(key, regionData.ToString()); } catch (InvalidCastException) { // is not a number } または double d; string str = data.ToString(); if (Double.TryParse(str, out d)) // if done, then is a number { dic.Add(key, str); } …
80 c#  .net  parsing  double 

5
PHPで書かれたまともなPHPパーサーはありますか?[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、スタックオーバーフローのトピックになります。 4年前に閉鎖されました。 この質問を改善する 私はPHPコードの操作と分析に多くの作業を行っています。通常、私はこれを行うためにTokenizerを使用します。ほとんどのアプリケーションでは、これで十分です。ただし、レクサーを使用した解析では、信頼性が十分でない場合があります(明らかに)。 したがって、PHPで記述されたPHPパーサーを探しています。hnw / PhpParserとkumatch / stagehand-php-parserが見つかりました。どちらも、zend_language_parser.yをCではなくPHPで.yファイルに自動変換することによって作成されます(その後、LALR(1)パーサーにコンパイルされます)。しかし、この自動変換は機能しません。 それで、PHPで書かれたまともなPHPパーサーはありますか?(PHP 5.2用と5.3用に1つずつ必要です。しかし、そのうちの1つだけが出発点としても適しています。)
80 php  parsing 

1
関数定義のクラス外宣言子でクラス名を完全に修飾することはできません
このプログラムは、望ましくない解析の貪欲な行き止まりをもたらします。 struct float4x4 {}; class C { float4x4 M(); }; float4x4 ::C::M() { return float4x4{}; } :8:1:エラー:「float4x4」に「C」という名前のメンバーがありません。単に「C」という意味ですか? float4x4 :: C :: M() ^ ~~~~~~~~~~~ これは、末尾の戻り値の型を使用して「修正」できます。 auto ::C::M() -> float4x4 {} 今はすべて良い。 それで、heading-return-type宣言子構文を使用するときにクラス名を完全に修飾できないと思いますか?

2
InputStreamを使用していても、APKファイルの信頼できる有効なマニフェストコンテンツを取得するにはどうすればよいですか?
バックグラウンド APKファイル(分割APKファイルを含む)に関する情報を取得したいと思っていました(圧縮されていないzipファイル内にある場合でも)。私の場合、これには、パッケージ名、バージョンコード、バージョン名、アプリラベル、アプリアイコン、および分割APKファイルかどうかなど、さまざまなものが含まれます。 PCではなくAndroidアプリ内ですべてを実行したいので、一部のツールが使用できない可能性があることに注意してください。 問題 これは私が使用できないことを意味します getPackageArchiveInfo関数をます。この関数は、APKファイルへのパスを必要とし、非分割APKファイルでのみ機能します。 要するに、それを実行するフレームワーク関数はないため、関数で解析するための入力としてInputStreamを使用して、zipファイルに移動する方法を見つける必要があります。 オンライン以外にもAndroid以外にもさまざまなソリューションがありますが、安定していてすべてのケースで機能するソリューションは知りません。多くはAndroidでも問題ないかもしれませんが(ここの例)、解析に失敗し、Uri / InputStreamではなくファイルパスが必要になる場合があります。 私が見つけたものと試したこと StackOverflowでこれを見つけましたが、残念ながら私のテストによると、常にコンテンツを生成しますが、まれに、有効なXMLコンテンツではない場合があります。 これまでのところ、出力XMLコンテンツが無効であるため、パーサーが解析に失敗するこれらのアプリのパッケージ名とそのバージョンコードを見つけました。 com.farproc.wifi.analyzer 139 com.teslacoilsw.launcherclientproxy 2 com.hotornot.app 3072 android 29(「Androidシステム」システムアプリ自体) com.google.android.videos 41300042 com.facebook.katana 201518851 com.keramidas.TitaniumBackupPro 10 com.google.android.apps.tachyon 2985033 com.google.android.apps.photos 3594753 XMLビューアとXMLバリデータを使用して、これらのアプリの問題を次に示します。 #1、#2については、から始まる非常に奇妙なコンテンツを取得しました<mnfs。 #3の場合、「&」は好きではありません <activity theme="resourceID 0x7f13000b" label="Features & Tests" ... #4は、最後に「マニフェスト」の終了タグを逃しました。 #5の場合、少なくとも「インテントフィルター」、「レシーバー」、「マニフェスト」の複数の終了タグがありませんでした。おそらくもっとある。 #6の場合、何らかの理由で「application」タグで「allowBackup」属性が2回取得されました。 #7の場合、マニフェストタグに属性のない値を取得しました:<manifest versionCode="resourceID 0xa" ="1.3.2"。 #8では、いくつかの「uses-feature」タグを取得した後、多くのコンテンツを逃し、「manifest」の終了タグがありませんでした。 #9の場合、「uses-permission」タグを取得した後、多くのコンテンツが失われ、「manifest」の終了タグがありませんでした …

1
EOS(End of String)でのRaku文法の停止
楽のDSL能力を習得するための言い訳として、ある音楽言語から別の言語(ABCからAlda)への翻訳者を書く過程で、.parse!を終了する方法がないようです。これが私の短いデモコードです: #!/home/hsmyers/rakudo741/bin/perl6 use v6d; # use Grammar::Debugger; use Grammar::Tracer; my $test-n01 = q:to/EOS/; a b c d e f g A B C D E F G EOS grammar test { token TOP { <score>+ } token score { <.ws>? [ | <uc> | <lc> ]+ <.ws>? } token uc …
9 parsing  grammar  raku 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.