“http://stackoverflow.com/pqr?name=XYZ&age=26”
例如,在上面的字符串中,我需要名称的值为 XYZ。怎么得到那个..?
谢谢
尝试使用 NSString 的方法拆分字符串
- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
使用“?”,“=”和“&”作为分隔符,然后你应该很高兴。
NSURL 上有一些方法,您需要从字符串中初始化,这可能会有所帮助。例如,- (NSString *) query
这会给你'name=XYZ&age=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]
}
}
但是,您应该注意使用传入字符串进行编码。例如,百分比转义。