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 に答える