2010-11-11 4 views
1

J'ai actuellement un NSString qui peut prendre dans un corps de message semblable à un tweet.iphone: détecter et remplacer une URL dans un NSString

E.g.

NSString * sampleText = « Ce texte contient le lien http://www.google.com »

je dois écrire une fonction qui peut prendre dans ce texte, détecter qu'une URL existe dans la chaîne, et être en mesure de remplacer l'URL avec un texte d'espace réservé.

E.g. après que la fonction est utilisée, le texte doit être égal à:

sampleText = « Celui-ci contient contient un lien »

Quelqu'un peut-il s'il vous plaît me dire comment je peux le faire? Dois-je utiliser RegEx?

+0

J'aimerais vous en dire plus si vous teniez vraiment à attribuer les meilleures réponses. –

+0

Vous n'avez pas nécessairement besoin d'utiliser des expressions régulières. Je pense d'abord que vous devez vous décider sur les cas que vous voulez couvrir, par exemple sur www.google.com? Cela devrait vous aider à décider comment le faire. Le cas le plus simple, à la recherche de http: // et en remplaçant la chaîne jusqu'à ce que les espaces suivants ne nécessitent aucune magie regex. –

Répondre

2

iOS 4 a [NSRegularExpression replaceMatchesInString:options:range:withTemplate:] qui ressemble à un bon pari. (Il s'attend à un NSMutableString.)

Questions connexes