Найти индекс символа в строке

У меня есть строка NSString *[email protected]"88) 12-sep-2012"; или [email protected]"8) blablabla";

Я хочу напечатать только символы перед ")", чтобы найти индекс символа ")". или как я могу это сделать?

Спасибо заранее.

Ответ 1

NSString *str = [[yourString componentsSeparatedByString:@")"] objectAtIndex:0];

Ответ 2

U может найти индекс символа ")" следующим образом:

NSString *[email protected]"88) 12-sep-2012";
NSRange range = [Original rangeOfString:@")"];
if(range.location != NSNotFound)
{
 NSString *result = [Original substringWithRange:NSMakeRange(0, range.location)];
}

Ответ 3

Вы можете использовать следующий код, чтобы увидеть символы перед ")"

   // 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]);

Ответ 4

NSUInteger index = [Original rangeOfString:@")"];

NSString *result = [Original substringWithRange:NSMakeRange(0, index)];

Ответ 5

попробуйте приведенный ниже код, чтобы получить индекс определенного символа в строке: -

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];

Ответ 6

Другая уступка:

NSString *[email protected]"88) 12-sep-2012";
NSRange range = [Original rangeOfString:@")"];
NSString *result = Original;

if (range.location != NSNotFound)
{
    result = [Original substringToIndex:range.location];
}

NSLog(@"Result: %@", result);