【问题标题】:Recognizing few integers in NSString识别 NSString 中的几个整数
【发布时间】:2013-01-08 22:43:47
【问题描述】:

我正在从服务器接收一个格式如下的字符串:

0_1_2_3

我的任务是从这个字符串中选择数字来填充四个标签。 第一个想法是:

NSString *res1 = [result substringWithRange:NSMakeRange(0, 1)];
[firstLabel setText:res1];

四次使用适当的标签。 但是操作会重复很多次,每次我都会收到一个数字值增加的字符串。因此,当每个数字都是小数时,此代码将不起作用。那么如何以适当的方式独立于长度跟踪每个数字呢?

【问题讨论】:

    标签: iphone objective-c ios substring


    【解决方案1】:

    NSString 带有一个名为-componentsSeparatedByString: 的便捷方法

    NSString *myString = @"0_1_2_3";
    NSArray *myDigitStrings = [myString componentsSeparatedByString:@"_"];
    
    /* access digit strings from myDigitStrings array by index or fast enumeration... */
    for (NSString *myDigitString in myDigitStrings)
        NSLog(@"digit string: %@", myDigitString);
    

    【讨论】:

    • 绝对最快的方法!谢谢,亚历克斯
    • 如果您从服务器返回 char *,那么更快的方法是在分隔符上进行标记,但是如果您使用的是 Foundation 对象,那么通常最好使用这些方法Apple 提供,通常针对其他 Foundation 对象进行优化。
    • 我也更喜欢 char * 字符数组,并逐个扫描字符以检查数字 ASCII 值范围内的 ASCII 值。
    猜你喜欢
    • 2014-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2012-02-28
    • 1970-01-01
    相关资源
    最近更新 更多