2014-02-14 5 views
0

Я много строк вида:Извлечение части строки

 
Soccer Livescore: (POR-SF) #Rio Ave vs #SC Braga: 2-1 
Soccer Livescore: (ENG-FC) #Chester FC vs #Halifax: 1-0 

Как я могу извлечь строку между() и РАСЧ на каждой стороне -

+0

Можете ли вы предоставить более подробную информацию. Вы также можете предоставить фактический результат, который вы хотите ... Так что это будет более полезно для нас. –

+0

Проверьте [Ссылка на класс NSString] (https://developer.apple.com/library/ios/documentation/cocoa/reference/foundation/classes/NSString_Class/Reference/NSString.html) –

+0

Возможный дубликат [NSString tokenize в Objective -C] (http://stackoverflow.com/questions/259956/nsstring-tokenize-in-objective-c) – Krypton

ответ

0

Вот ответ.

NSString *string [email protected]"Soccer Livescore: (CONMEBOL-GS) #Rio Ave vs #SC Braga: 2-1"; 

NSRange range1 = [string rangeOfString:@"("]; 
NSRange range2 = [string rangeOfString:@")"]; 
range1.location = range1.location + 1; 
range1.length = range2.location - range1.location; 


NSString *scoreString = [string substringWithRange:NSMakeRange([string length]-3, 3)]; 
NSArray *scores = [scoreString componentsSeparatedByString:@"-"]; 

NSLog(@"%@ %d %d", [string substringWithRange:range1], [scores[0] intValue], [scores[1] intValue]); 

результат Log: КОНМЕБОЛ-GS 2 1

+0

Это приведет к появлению первых 6 символов после (возможно, я буду создан, чтобы он остановился на). Потому что он может также выглядеть (CONMEBOL-GS), а затем range.length = 6 не работает – user3258468

+0

я исправил его так, чтобы он работал на всех длинах –

0

Возможно, вы хотите посмотреть на NSString токенизации: NSString tokenize in Objective-C Существует образец в одном из ответов там:

NSString *string = @"oop:ack:bork:greeble:ponies"; 
NSArray *chunks = [string componentsSeparatedByString: @":"]; 
Смежные вопросы