【问题标题】:make array out of string with variable number of spaces in Objective-C在Objective-C中用可变数量的空格制作数组
【发布时间】:2010-07-07 04:40:43
【问题描述】:

如果单词之间总是有单个空格,我会使用此代码。由于我在某些单词之间有多个空格,因此在使用 componentsSeparatedBySring 时如何更改我的代码以删除多余的空格。我是 OBjective-C 的新手,因此我们将不胜感激!

这是我的代码: NSString *myString = @"一二三四五"; NSArray *myArray = [myString componentsSeparatedByString:@" "];

【问题讨论】:

    标签: objective-c nsstring nsarray


    【解决方案1】:

    改用NSScanner

    NSMutableArray *results = [NSMutableArray array];
    NSScanner      *scanner = [NSScanner scannerWithString:input];
    NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@" "];
    
    while ([scanner isAtEnd] == NO) 
    {
        NSString *string;
        [scanner scanUpToCharactersFromSet:charSet intoString:&string];
        [results addObject:string];
    }
    

    【讨论】:

      【解决方案2】:
      + (NSArray *)componentsInString:(NSString *)string withSeparacterInString:(NSString *)separaterStr
      {
        if (!string || !separaterStr || [separaterStr length] < 1)
          return [NSArray array];
      
        NSMutableArray *arr = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:separaterStr]] mutableCopy];
      
        [arr removeObject:@""]; // removes all empty components
      
        return arr;
      }
      
      NSArray *arr = [Utils componentsInString:@"12 123 \n 14 " withSeparacterInString:@" \n"];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多