« http://stackoverflow.com/pqr?name=XYZ & age = 26 »Comment obtenir une partie d'un NSString
par exemple dans la chaîne ci-dessus i besoin de la valeur du nom qui est XYZ. comment obtenir ça ..?
Merci
« http://stackoverflow.com/pqr?name=XYZ & age = 26 »Comment obtenir une partie d'un NSString
par exemple dans la chaîne ci-dessus i besoin de la valeur du nom qui est XYZ. comment obtenir ça ..?
Merci
Il existe des méthodes sur NSURL, que vous auriez besoin d'init de la chaîne, qui pourraient aider. Par exemple, - (NSString *) query
qui vous donnerait 'name = XYZ & age = 26'. Vous pouvez ensuite utiliser componentsSeparatedByString(@"&")
pour rassembler chaque argument et parcourir le tableau résultant jusqu'à atteindre la clé/valeur dont vous avez besoin. Peut-être quelque chose comme:
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]
}
}
Cependant, vous devez être conscient de l'encodage avec la chaîne entrante. Par exemple, le pourcentage d'évasions.
Essayez de diviser la chaîne avec la méthode de NSString
- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
utilisation "?", "=" Et "&" comme seperators et vous devriez être bon d'aller.