Split an NSString to access one particular piece Split an NSString to access one particular piece objective-c objective-c

Split an NSString to access one particular piece


NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];NSString* firstBit = [foo objectAtIndex: 0];

Update 7/3/2018:

Now that the question has acquired a Swift tag, I should add the Swift way of doing this. It's pretty much as simple:

let substrings = "10/04/2011".split(separator: "/")let firstBit = substrings[0]

Although note that it gives you an array of Substring. If you need to convert these back to ordinary strings, use map

let strings = "10/04/2011".split(separator: "/").map{ String($0) }let firstBit = strings[0]

or

let firstBit = String(substrings[0])


Either of these 2:

NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];

Though keep in mind that sometimes a date string is not formatted properly and a day ( or a month for that matter ) is shown as 8, rather than 08 so the first one might be the worst of the 2 solutions.

The latter should be put into a separate array so you can actually check for the length of the thing returned, so you do not get any exceptions thrown in the case of a corrupt or invalid date string from whatever source you have.


Its working fine

NSString *dateString = @"10/10/2010";//Date NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];NSString* dayString = [dateArray objectAtIndex: 0];