0

中かっこ内の内容を解析して取得したいのですが、実際には次のようになります。

-(void)testfunction
{
   //do something
   integer myVal = 0;
   NSString *testString = @"Test";

   myVal = [someObject test];
   if(myVal >10)
   {
       NSLog(@"Test Succeed");
   }
   else
   {
       NSLog(@"Test Succeed");
       if(testString)
       {
            NSLog("Still");
       }
    }  
}

testFunction のすべてのテキストとして出力を期待しています。

解析するより簡単なロジックはありますか?

私は NSString を使用しており、iPhone ではなく MAC OS 向けに開発しています。

よろしく、 ニラフ

4

2 に答える 2

1

あなたがしなければならないことは、関数の開始を認識し、それを閉じ中括弧に到達するまで読み取るプログラムを構築することです。これは基本的にコンパイラーが行うことです。

最も簡単な方法は、おそらく正規表現を使用して関数ヘッダーを見つけてから、開き括弧と閉じ括弧を数えて 1 行ずつ (または 1 文字ずつ) 読み取ることです。読んだコードが常に適切にフォーマットされているとは限らず、実際には右中括弧がコードやコメントの前後にある行の途中にある可能性があることに注意してください。

于 2012-07-17T09:17:43.647 に答える
1

NSString を解析するための基本的な構成要素はNSScannerクラスです。

より基本的なのは無地のCスタイルstrtok()です。

于 2012-07-17T09:18:16.227 に答える