Как разделить строки в объективе c

Как разбить строку в objective-C? Я работаю над кратким выражением, которое содержит сборщик дат. Я показываю дату, получаю ее из набора даты и покажу ее через ярлык.

Мой главный вопрос: как я могу разделить дату на три отдельные строки? кто-нибудь имеет представление об этом?

Спасибо

Ответ 2

Используйте что-то вроде [yourString componentsSeparatedByString:@"/"]. Вы получите NSArray разделенных строк.

Ответ 3

Если вы можете форматировать дату в конкретном формате с помощью NSDateFormatter, а затем преобразовать NSDate в NSString. Вы можете извлекать компоненты из строки даты с помощью компонентовSeparatedByString.

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

Вы можете получить массив строк с помощью этого метода, и вы можете использовать строковый токенизатор в соответствии с вашим форматом dateformat.for, например, ",".

[myDateString componentsSeparatedByString:@","];

Ответ 4

Вы можете использовать следующий код для разделения даты на отдельные компоненты:

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;