Схватить числа после двоеточия? - PullRequest
2 голосов
/ 15 декабря 2010

У меня есть строка времени, которая выглядит следующим образом: 5:34 pm. Я хочу получить 5, поместить его в переменную, а затем захватить 34 и поместить в переменную. Возможно ли это?

Заранее спасибо!

Ответы [ 2 ]

6 голосов
/ 15 декабря 2010

Остерегайтесь перечисленной выше техники NSString.Если в вашей строке отсутствует двоеточие, вы потерпите крах, получив objectAtIndex: 1.(Я бы прокомментировал это, но у меня недостаточно реп.)

Это должно быть немного более надежным.

int hours, minutes;
if (2 == sscanf([timeString UTF8String], "%d:%d", &hours, &minutes))
{
    // congratulations, you did it
}
else
{
    // the string was malformed
}
4 голосов
/ 15 декабря 2010
NSArray *splitString = [timeString componentsSeparatedByString:@":"];
if ([splitString count] > 1 {
    NSString *hours = [splitString objectAtIndex:0];
    NSString *minutes = [splitString objectAtIndex:1];
}
else {
    //improperly formatted string
}
...