2010-09-03 18 views
13
NSString *url = @"http://stackoverflow.com/questions/ask"; 

Come posso ottenere la posizione del carattere del 4 ° "/"?NSString carattere posizione

+0

Cosa intendete per 4 "/", prima il 4 ° carattere non è "/". O se intendi il 4 "/" ​​in tutto "/", che corrisponde all'ultimo "/ chiedi" – vodkhang

+0

sì l'ultimo "/ chiedi" – Fasid

risposta

29

Se stai solo cercando di ottenere l'ultima parte dell'URL, si dovrebbe essere in grado di utilizzare questo :

NSArray* items = [url componentsSeparatedByString:@"/"]; 

Per ottenere l'indice dell'ultimo '/' carattere:

NSRange range = [url rangeOfString:@"/" options:NSBackwardsSearch]; 

ottenere il valore di indice da range.location

Per trovare l'indice del quarto '/' carattere dal url:

int count = 0; 
int index = -1; 
for (unsigned int i=0; i < [url length]; ++i) { 
    if ([url characterAtIndex:i] == '/') { 
     ++count; 
     if (count == 4) { 
      index = i; 
      break; 
     } 
    } 
} 
+0

ho bisogno di ottenere l'indice ma il numero – Fasid

+0

non è sempre l'ultimo uno, è il 4 ° – Fasid

0

ho Editted la mia risposta dopo aver compreso il problema.

La risposta di Hitesh quasi corretto, hai solo bisogno di fare un po 'di più

NSArray* items = [url componentsSeparatedByString:@"/"]; 

if ([items count] > 4) { 
    NSString *string = [items objectAtIndex:4]; 
} 
7

Di solito non c'è bisogno di ottenere l'indice della lettera /. Si può semplicemente utilizzare molti metodi di convenienza definiti NSURL, vedere this Apple reference. Farei

NSURL* url=[NSURL URLWithString:@"http://stackoverflow.com/questions/ask"]; 
    NSString* last=[url lastPathComponent]; // last is now @"ask" 
5

un altro modo è possibile utilizzare

[url rangeOfString:@"/" options:NSBackwardsSearch].location 

spero che aiuta!

+0

Stavo solo cercando di capire come eseguire manualmente interruzioni di riga "logiche" su una stringa (cioè interruzione di uno spazio) per sputare una stringa in più blocchi CCLabelTTF, e questo era esattamente ciò di cui avevo bisogno, Grazie! – redux

+0

questo dovrebbe essere accettato risposta ... –