Ich habe eine Zeichenfolge wie folgt: @"10/04/2011"
und ich möchte nur die "10" in einer anderen Zeichenfolge speichern. Wie kann ich das machen?
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
pdate 03.07.2008:
Nachdem die Frage ein Swift Tag erhalten hat, sollte ich die Swift) Methode hinzufügen. Es ist ziemlich einfach:
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
Beachten Sie jedoch, dass es ein Array von Substring
gibt. Wenn Sie diese zurück in normale Zeichenfolgen konvertieren müssen, verwenden Sie map
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
oder
let firstBit = String(substrings[0])
Eine dieser 2:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
Beachten Sie jedoch, dass eine Datumszeichenfolge manchmal nicht richtig formatiert ist und ein Tag (oder ein Monat) als 8 und nicht als 08 angezeigt wird, sodass die erste der beiden Lösungen die schlechteste sein kann.
Letzteres sollte in ein separates Array gestellt werden, damit Sie tatsächlich die Länge der zurückgegebenen Daten überprüfen können, damit Sie keine Ausnahmen im Falle einer beschädigten oder ungültigen Datumszeichenfolge von einer beliebigen Quelle erhalten.
Es funktioniert gut
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
Ziel c:
NSString *day = [@"10/04/2011" componentsSeparatedByString:@"/"][0];
Schnell:
var day: String = "10/04/2011".componentsSeparatedByString("/")[0]
Verwenden [myString componentsSeparatedByString:@"/"]
Ich habe die Nette Lösung von JeremyP oben in eine allgemeinere wiederverwendbare Funktion unten formatiert:
///Return an ARRAY containing the exploded chunk of strings
+(NSArray*)explodeString:(NSString*)stringToBeExploded WithDelimiter:(NSString*)delimiter
{
return [stringToBeExploded componentsSeparatedByString: delimiter];
}
Swift 3.0 Version
let arr = yourString.components(separatedBy: "/")
let month = arr[0]