"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]
}
}
ただし、着信文字列を使用したエンコードに注意する必要があります。たとえば、パーセントはエスケープします。