2010-11-25 47 views
1

的一部分“http://stackoverflow.com/pqr?name=XYZ &年龄= 26”如何获得的NSString

例如在上面的字符串,我需要name的值是XYZ。如何得到那.. ..?

感谢

回答

1

NSURL上有一些方法需要从字符串中初始化,这可能会有所帮助。例如,- (NSString *) query这会给你'姓名= XYZ &年龄= 26'。然后,您可以使用componentsSeparatedByString(@"&")来收集每个参数并迭代结果数组,直到找到所需的键/值。也许类似于:

NSURL *url = [NSURL URLFromString:incomingString]; 
NSString *queryString = [url query]; 
NSArray *queryArray = [queryString componentsSeparatedByString(@"&")]; 

for (NSString *query in queryArray) 
{ 
    NSArray *arg = [query componentsSeparatedByString(@"="); 
    if ([arg count] != 2) continue; 

    if ([arg objectAtIndex:0] caseInsensitiveCompare:@"SOME_KEY"] == NSOrderedSame) 
    { 
    // do something, probably with [arg objectAtIndex:1] 
    } 

} 

但是,您应该知道使用传入字符串进行编码。例如,百分比转义。

1

尝试分裂的字符串的NSString的方法

- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator 

使用“?”,“=”和“&”作为分隔符,然后你要善于去。