查找string中字符的索引
我有一个stringNSString *Original=@"88) 12-sep-2012";
或Original=@"8) blablabla";
我只想打印“)”之前的字符,所以如何find字符“)”的索引。 或者我怎么能这样做?
提前致谢。
NSString *str = [[yourString componentsSeparatedByString:@")"] objectAtIndex:0];
你可以像这样find字符“)”的索引:
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]);
尝试下面的代码来获取string中的特定字符的索引: –
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 ) }
并获取string之前)字符使用此: –
NSString *str = [[string componentsSeparatedByString:@")"] objectAtIndex:0];
NSUInteger index = [Original rangeOfString:@")"]; NSString *result = [Original substringWithRange:NSMakeRange(0, index)];
另一个解决scheme:
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);