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 并为 MAC OS 而不是 iPhone 开发。

问候,尼拉夫

4

2 回答 2

1

您需要做的是构建一个程序来识别函数的开头,并读取它直到它到达右大括号,这基本上是编译器所做的。

最简单的方法可能是使用正则表达式找到函数头,然后逐行(或逐字符)读取开始和结束大括号。请记住,您阅读的代码可能并不总是格式正确,并且右大括号实际上可能位于代码和/或注释前后的行中间。

于 2012-07-17T09:17:43.647 回答
1

解析 NSStrings 的基本构建块是NSScanner类。

更基本的是普通的 C 风格strtok()

于 2012-07-17T09:18:16.227 回答