Frage

Ich habe eine solche Zeichenfolge: @"10/04/2011" Und ich möchte nur die "10" in einer anderen Zeichenfolge speichern. Wie kann ich das machen?

War es hilfreich?

Lösung

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

Aktualisieren Sie 7/3/2018:

Nachdem die Frage ein Swift -Tag erworben hat, sollte ich die schnelle Art und Weise hinzufügen. Es ist ziemlich einfach:

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

Obwohl beachten Sie, dass es Ihnen eine Reihe von einer Reihe gibt Substring. Wenn Sie diese in gewöhnliche Zeichenfolgen umwandeln müssen, verwenden Sie sie map

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

oder

let firstBit = String(substrings[0])

Andere Tipps

Eines dieser 2:

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

Denken Sie jedoch daran, dass manchmal eine Datumszeichenfolge nicht richtig formatiert und ein Tag (oder ein Monat) nicht als 8 als 08 angezeigt wird, sodass der erste der schlimmste der beiden Lösungen sein könnte.

Letzteres sollte in ein separates Array gesteckt werden, damit Sie tatsächlich nach der Länge der zurückgegebenen Sache überprüfen können, sodass Sie keine Ausnahmen erhalten, die bei einer beschädigten oder ungültigen Datumszeichenfolge von jeder Quelle, die Sie haben, ausgeworfen werden können.

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 das formatiert Schöne Lösung, die von Jeremyp oben bereitgestellt wird in eine generische wiederverwendbare Funktion unten:

///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]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top