Найти индекс символа в строке
у меня есть строка NSString *Original=@"88) 12-sep-2012";
или Original=@"8) blablabla";
Я хочу напечатать только те символы перед ")" так как найти индекс символа ")". или как мне это сделать?
спасибо заранее.
6 ответов
U может найти индекс символа") " следующим образом:
NSString *Original=@"88) 12-sep-2012";
NSRange range = [Original rangeOfString:@")"];
if(range.location != NSNotFound)
{
NSString *result = [Original substringWithRange:NSMakeRange(0, range.location)];
}
вы можете использовать следующий код, чтобы увидеть символы перед ")"
// this would split the string into values which would be stored in an array
NSArray *splitStringArray = [yourString componentsSeparatedByString:@")"];
// this would display the characters before the character ")"
NSLog(@"%@", [splitStringArray objectAtIndex:0]);
NSUInteger index = [Original rangeOfString:@")"];
NSString *result = [Original substringWithRange:NSMakeRange(0, index)];
попробуйте приведенный ниже код, чтобы получить индекс определенного символа в строке: -
NSString *string = @"88) 12-sep-2012";
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@")"];
NSRange range = [string rangeOfCharacterFromSet:charSet];
if (range.location == NSNotFound)
{
// ... oops
}
else {
NSLog(@"---%d", range.location);
// range.location is the index of character )
}
и чтобы получить строку перед символом ) используйте это: -
NSString *str = [[string componentsSeparatedByString:@")"] objectAtIndex:0];
другое soluation:
NSString *Original=@"88) 12-sep-2012";
NSRange range = [Original rangeOfString:@")"];
NSString *result = Original;
if (range.location != NSNotFound)
{
result = [Original substringToIndex:range.location];
}
NSLog(@"Result: %@", result);