how to split strings in objective c

那年仲夏 提交于 2019-11-30 08:21:54

问题


How to split a string in objective-C? I am working on an short application that contains a date picker. I do display date get it from date picker and display it through a label.

My main question is that how can I split the the date in to three separate strings? any one has idea about it?

Thanks


回答1:


You could use -[NSString componentsSeparatedByString:] or NSScanner to split the string, or use NSCalendar to extract the pieces of the date you're interested in.




回答2:


Use something like [yourString componentsSeparatedByString:@"/"]. You will get an NSArray of separated strings.




回答3:


If you can format date into specific format using NSDateFormatter and then convert NSDate into NSString. You can extract components from date string using componentsSeparatedByString.

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

You can get array of string by using this method and you can use string tokenizer according to your dateformat.for example "," string tokenizer.

[myDateString componentsSeparatedByString:@","];



回答4:


You can use following code to split the date into separate components:

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;


来源:https://stackoverflow.com/questions/5095349/how-to-split-strings-in-objective-c

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!