Iphone 从web输出中提取表

Iphone 从web输出中提取表,iphone,objective-c,xcode,ios,string,Iphone,Objective C,Xcode,Ios,String,我能够将网页作为一个长字符串拉入我的代码中。现在我想删除标记之前和标记之后的所有内容-因此我只保留表本身 我正在考虑使用NSScanner或regexp。您认为哪种代码管理更有效/更容易?该页面也可能(将来)包含两个表,我希望提取每个表(一个接一个)以显示在我的视图中 有什么想法吗 提前谢谢你Kolya所以-我使用了NSScanner // calling a service to extract the webpage as a string.. NSString *thewebpage =

我能够将网页作为一个长字符串拉入我的代码中。现在我想删除
标记之前和
标记之后的所有内容-因此我只保留表本身

我正在考虑使用NSScanner或regexp。您认为哪种代码管理更有效/更容易?该页面也可能(将来)包含两个表,我希望提取每个表(一个接一个)以显示在我的视图中

有什么想法吗

提前谢谢你
Kolya

所以-我使用了NSScanner

// calling a service to extract the webpage as a string..
NSString *thewebpage = [NSString stringWithFormat:@"%@", [self getthewebstring]];
NSString *tmpwebpage = @"";

// Assign 'theScanner' to class NSScanner
NSScanner *theScanner = [NSScanner scannerWithString:tmpwebpage];

// find start of TABLE
[theScanner scanUpToString:@"<h2>Table Header</h2>" intoString:nil];
[theScanner scanUpToString:@"</table>" intoString:&tmpwebpage];
NSString *myTableOnlyData = [tmpwebpage stringByAppendingString:@"</table>"];
//调用服务将网页提取为字符串。。
NSString*网页=[NSString stringWithFormat:@“%@,[self-getthewebstring]];
NSString*tmpwebpage=@”;
//将“扫描仪”分配给NSScanner类
NSScanner*扫描仪=[NSScanner Scanner with string:tmpwebpage];
//查找表的开头
[扫描程序扫描字符串:@“表头”到字符串:nil];
[扫描程序扫描字符串:@“intoString:&tmpwebpage];
NSString*myTableOnlyData=[tmpwebpage stringByAppendingString:@”“;
这对我很有效

Kolya

您好,您可以使用此代码

 - (NSMutableArray *)stringFilter:(NSString *)targetString {

        NSScanner *theScanner;
        NSString *text = nil;

        theScanner = [NSScanner scannerWithString: targetString];

        while ([theScanner isAtEnd] == NO) {

            [theScanner scanUpToString:@"<table>" intoString:NULL] ; 

            [theScanner scanUpToString:@"</table>" intoString:&text] ;

           [tempArray addObject:text];

        } 

        return tempArray;

    }
-(NSMutableArray*)stringFilter:(NSString*)targetString{
NSScanner*扫描仪;
NSString*text=nil;
扫描仪=[NSScanner SCANNER WITHSTRING:targetString];
while([扫描仪显示]==否){
[扫描程序扫描字符串:@“intoString:NULL];
[扫描程序扫描字符串:@“intoString:&text];
[tempArray addObject:text];
} 
返回数组;
}
临时数组将包含表标记中的所有字符串