如何在目标c中拆分string

如何在Objective-C中拆分string? 我正在处理一个包含dateselect器的简短应用程序。 我显示date从dateselect器中获取,并通过标签显示。

我的主要问题是,如何将date分成三个单独的string? 任何人都有想法呢?

谢谢

您可以使用-[NSString componentsSeparatedByString:]NSScanner来拆分string,或使用NSCalendar来提取您感兴趣的date片段。

使用类似[yourString componentsSeparatedByString:@"/"] 。 你会得到一个分离的string的NSArray。

如果可以使用NSDateFormatter将date格式化为特定格式,然后将NSDate转换为NSString。 您可以使用componentsSeparatedByString从datestring中提取组件。

 NSDate *myDate = datePicker.date;//if you are getting date from date picker NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"cccc, MMM d, hh:mm aa"];//you can use any date format also NSString *myDateString = [dateFormat stringFromDate:myDate]; 

你可以使用这个方法获得string数组,你可以根据你的dateformat.for例如“,”string标记器使用string标记器。

 [myDateString componentsSeparatedByString:@","]; 

您可以使用以下代码将date分成不同的组件:

 NSDate *inputDate = [NSDate date]; //assign the value selected from date picker NSCalendar* calendar = [NSCalendar currentCalendar]; unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit; NSDateComponents* componentObj = [calendar components:unitFlags fromDate:inputDate]; NSInteger day = componentObj.day; NSInteger month = componentObj.month; NSInteger year = componentObj.year;