Objective-Cで文字列を分割するには? 日付ピッカーを含む短いアプリケーションに取り組んでいます。日付ピッカーから取得した日付を表示し、ラベルを介して表示します。
私の主な質問は、日付を 3 つの別々の文字列に分割するにはどうすればよいかということです。誰もそれについて考えていますか?
ありがとう
Objective-Cで文字列を分割するには? 日付ピッカーを含む短いアプリケーションに取り組んでいます。日付ピッカーから取得した日付を表示し、ラベルを介して表示します。
私の主な質問は、日付を 3 つの別々の文字列に分割するにはどうすればよいかということです。誰もそれについて考えていますか?
ありがとう
-[NSString componentsSeparatedByString:]
またはを使用しNSScanner
て文字列を分割したり、 を使用NSCalendar
して関心のある日付の断片を抽出したりできます。
のようなものを使用します[yourString componentsSeparatedByString:@"/"]
。分離された文字列の NSArray を取得します。
NSDateFormatter を使用して日付を特定の形式にフォーマットし、NSDate を NSString に変換できる場合。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];
このメソッドを使用して文字列の配列を取得し、dateformat に従って文字列トークナイザーを使用できます。たとえば、"," 文字列トークナイザーです。
[myDateString componentsSeparatedByString:@","];
次のコードを使用して、日付を別々のコンポーネントに分割できます。
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;