【问题标题】:Split NSString by number of whitespaces按空格数拆分 NSString
【发布时间】:2011-11-24 03:01:50
【问题描述】:

我有一个NSString,其中包含一些由未知数量的空白字符分隔的值。例如:

NSString* line = @"1 2     3";

我想将 NSString 拆分为 NSArray 的值,如下所示:{@"1", @"2", @"3"}

【问题讨论】:

    标签: objective-c nsstring nsarray


    【解决方案1】:

    获取由@" " 分隔的组件,并从结果数组中删除所有对象,如@""

    NSString* line = @"1 2     3";
    NSMutableArray *array = (NSMutableArray *)[line componentsSeparatedByString:@" "];
    [array removeObject:@""]; // This removes all objects like @""
    

    【讨论】:

    • 有趣;我没有意识到removeObject 删除了 all 事件。谢谢!
    • 这个解决方案更干净。谢谢。
    • 克里斯·多布尔,克里斯·莱德,欢迎您!
    【解决方案2】:

    这应该可以解决问题(假设值不包含空格):

    // Gives us [@"1", @"2", @"", @"", @"", @"", @"3"].
    NSArray *values = [line componentsSeparatedByCharactersInSet:
        [NSCharacterSet whitespaceCharacterSet]];
    
    // Remove the empty strings.
    values = [values filteredArrayUsingPredicate:
        [NSPredicate predicateWithFormat:@"SELF != ''"]];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多