1

“http://stackoverflow.com/pqr?name=XYZ&age=26”

例如,在上面的字符串中,我需要名称的值为 XYZ。怎么得到那个..?

谢谢

4

2 回答 2

1

尝试使用 NSString 的方法拆分字符串

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

使用“?”,“=”和“&”作为分隔符,然后你应该很高兴。

于 2010-11-25T22:13:14.467 回答
1

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]
  }

}

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

于 2010-11-26T05:51:48.117 回答