2010-12-15 5 views
2

Ich habe eine Zeit Zeichenfolge, die wie folgt aussieht: 5:34 pm. Ich möchte die 5 greifen, sie in eine Variable setzen und die 34 greifen und sie in eine Variable setzen. Ist das möglich?Greifen Sie Zahlen nach einem Doppelpunkt?

Vielen Dank im Voraus!

+0

Sie haben gute wörtliche Antworten auf Ihre Frage, aber wenn Sie versuchen, eine Zeit zu analysieren, siehe - [NSDateFormatter dateFromString:]. – Ken

+0

@Ken Ich habe versucht, es zu verwenden, aber für meine Bedürfnisse war alles, was ich brauchte, einfach die Zeichenfolge zu analysieren. Trotzdem danke! –

Antwort

4
NSArray *splitString = [timeString componentsSeparatedByString:@":"]; 
if ([splitString count] > 1 { 
    NSString *hours = [splitString objectAtIndex:0]; 
    NSString *minutes = [splitString objectAtIndex:1]; 
} 
else { 
    //improperly formatted string 
} 
+0

Schön! Genau das, was ich brauchte. Danke, werde Antwort annehmen, sobald es verfügbar ist. –

+0

Kein Problem! Ich erinnere mich, dass ich lange nach dieser Methode gesucht habe. :-) – Jumhyn

6

Achten Sie auf die oben aufgeführte NSString-Technik. Wenn in Ihrer Zeichenfolge ein Doppelpunkt fehlt, erhalten Sie einen Absturz von objectAtIndex: 1. (Ich würde es kommentieren, aber ich habe keine ausreichende Rep.)

Dies sollte ein wenig robuster sein.

+0

Nicht sicher, ob ich mit einer C-Stil-Funktion oder einer Objective-C-Stil-Methode gehen sollte? –

+0

Ziemlich sicher, dass es immer einen Doppelpunkt haben wird. –

+0

auch, auch in der anderen Methode ist es einfach zu überprüfen, ob fehlerhafte Formeln: Überprüfen Sie einfach, dass splitString.count> 1. Wenn Sie mehr Kontrolle benötigen, empfehlen wir Ihnen, 'NSScanner' anzuschauen. – mohsenr