如何获得NSString的一部分

时间:2010-11-25 21:45:34

标签: iphone parsing nsstring nsscanner

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

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

由于

2 个答案:

答案 0 :(得分:1)

尝试使用NSString的方法

分割字符串
 - (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

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

答案 1 :(得分: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]
  }

}

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