在Cocoa中的2个字符串后插入“:”

时间:2013-08-12 03:32:39

标签: objective-c cocoa

我想在NSString中每隔一个字符串后插入“:”。

例如,我得到的MAC地址是000C290C16E8。我想将其格式化为00:0C:29:0C:16:E8。我怎样才能做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要计算有多少双字符对。从那里,你可以循环遍历对并从原始字符串中获取子字符串,并开始将新字符串与其间的冒号拼接在一起。你需要让结肠离开最后一对。

下面是一些代码,这假设原始字符串具有偶数个字符,用于完整的对。

NSString *originalString = @"000C290C16E8";

NSMutableString *deliniatedString = [NSMutableString string];

NSInteger octetCount = [originalString length] / 2;

for (NSInteger i = 0; i < octetCount; i++)
{
    NSString *substring = [originalString substringWithRange:NSMakeRange(i * 2, 2)];
    [deliniatedString appendString:substring];

    if (i < octetCount - 1)
        [deliniatedString appendString:@":"];
}

NSLog(@"%@", deliniatedString);