2013-09-12 4 views
0

Есть ли какой-либо лаконичный способ срезания строк в Objective-C? До сих пор я получил:Краткая нарезка строки в объекте C

f = [f stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""]; 

Что не совсем так хорошо, как в Python:

f = f[1:] 

И было бы даже gnarlier если приходится делать что-то вроде f[1:4]:

f = [f stringByReplacingCharactersInRange:NSMakeRange(0, 1) withString:@""]; 
f = [f stringByPaddingToLength:(4-1) withString:@"" startingAtIndex:0]; 
+0

«Concise» - прилагательное, редко применяемое к Objective C :) –

+0

@MattWilding: это делает меня грустным = (.I пропустить мой Python. XCode в основном компенсирует это, хотя – Claudiu

ответ

2

Вы, вероятно, ищете эти методы:

- (NSString *)substringFromIndex:(NSUInteger)from; 
- (NSString *)substringToIndex:(NSUInteger)to; 
- (NSString *)substringWithRange:(NSRange)range; 

Например, f = f[1:] становится:

f = [f substringFromIndex:1]; 

и f = f[1:4] становится:

f = [f substringWithRange:NSMakeRange(1,3)]; 

Просто будьте осторожны, что ваши показатели и диапазоны не выходит за границы, в противном случае NSRangeException будет брошен!

1

Попробуйте substringWithRange:. Например

[s substringWithRange:NSMakeRange(1, s.length - 1)] 

или

[s substringWithRange:NSMakeRange(1, 4 - 1)] 
Смежные вопросы