Ich habe eine Zeichenfolge wie diese: @"10/04/2011"
und ich möchte nur die "10" in einer anderen Zeichenfolge speichern. Wie kann ich das machen?
Ich habe eine Zeichenfolge wie diese: @"10/04/2011"
und ich möchte nur die "10" in einer anderen Zeichenfolge speichern. Wie kann ich das machen?
Antworten:
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
Update 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 Ihnen eine Reihe von gibt Substring
. Wenn Sie diese wieder in normale Zeichenfolgen konvertieren müssen, verwenden Siemap
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
oder
let firstBit = String(substrings[0])
[foo firstObject]
ist im Allgemeinen möglicherweise besser, da auch leere Arrays ordnungsgemäß verarbeitet werden.
Eine dieser 2:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
Beachten Sie jedoch, dass manchmal eine Datumszeichenfolge nicht richtig formatiert ist und ein Tag (oder ein Monat) als 8 anstatt als 08 angezeigt wird, sodass die erste möglicherweise die schlechteste der beiden Lösungen ist.
Letzteres sollte in einem separaten Array abgelegt werden, damit Sie tatsächlich die Länge des zurückgegebenen Objekts überprüfen können, damit im Falle einer beschädigten oder ungültigen Datumszeichenfolge aus einer beliebigen Quelle keine Ausnahmen ausgelöst werden.
Es funktioniert gut
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 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];
}