2010-12-05 20 views
0

Quel personnage jouerait le rôle de joker en Objective-C? J'ai essayé d'utiliser *, mais pas de chance. Je suis en train d'obtenir une valeur qui est passée à travers une URL comme ceci:Qu'est-ce que le "caractère générique"?

NSString *clearQuery = [query stringByReplacingOccurrencesOfString:@"q=set&mode=*&session=" withString:@""]; 

je en ai besoin pour revenir seulement la valeur de la session. Le mode pourrait être beaucoup de choses. Merci pour l'aide.

+0

Est-il présupposable que 'q',' mode' et 'session' apparaissent toujours dans la chaîne de requête dans cet ordre? Normalement, dans les chaînes de requête d'URL, l'ordre des paramètres peut être n'importe quoi. – BoltClock

+0

Oui parce que je contrôle la page d'où elle est transmise et il n'y a aucun moyen de la changer. – Preston

+0

OK, juste pensé que je demanderais. – BoltClock

Répondre

0

Il n'existe pas de caractères génériques de ce type.

Vous pouvez vous intéresser à la nouvelle classe NSRegularExpression, mais celle-ci nécessite au minimum la version 4.0.

2

Utilisez NSRegularExpression ou rangeOfString:... avec NSRegularExpressionSearch à la place. -[NSString stringByReplacingOccurrencesOfString:] correspond à des chaînes littérales, et non à des motifs quelconques.

+0

Pourriez-vous s'il vous plaît fournir un code pour m'aider à démarrer? Je l'ai cherché, mais je n'arrive pas à trouver un exemple de ce que j'essaie de faire. – Preston

+0

Si vous souhaitez utiliser NSString rangeOfString ... avec NSRegularExpressionSearch, vous pouvez obtenir la plage de la chaîne qui correspond au modèle et supprimer cette plage d'un NSMutableString. Si vous souhaitez utiliser NSRegularExpression, créez une expression régulière avec le modèle que vous voulez faire correspondre et utilisez NSRegularExpression stringByReplacingMatchesInString: options: range: withTemplate :. –