【问题标题】:Split an NSString by character count?按字符数拆分 NSString?
【发布时间】:2011-10-24 17:15:58
【问题描述】:

按最大字符数分割 NSString 的最简单方法是什么?

例如,如果我有一个长度为 204 字符的字符串,并且我想将其拆分为 100 字符,则它应该生成一个包含三个子字符串 (100,100,4) 的 NSArray。

【问题讨论】:

    标签: objective-c cocoa nsstring


    【解决方案1】:
    NSMutableArray *array = [[NSMutableArray alloc] init];
    int len=0;
    
    while( (len+100)<[string length]) {
        [array addObject:[string substringWithRange:NSMakeRange(len,100)]];
        len+=100;
    }
    
    [array addObject:[string substringFromIndex:len]];
    

    完成后不要忘记释放数组。

    【讨论】:

      【解决方案2】:

      这会有所帮助

      - (NSArray *)chunksForString(NSString *)str {
          NSMutableArray *chunks = [[NSMutableArray alloc] init];
          double sizeChunk = 100.0; // or whatever you want
          int length = 0;
          int loopSize = ceil([str length]/sizeChunk);
          for (int index = 0; index < loopSize; index++) {
              NSInteger newRangeEndLimit = ([str length] - length) > sizeChunk ? sizeChunk : ([str length] - length);
              [chunks addObject:[str substringWithRange:NSMakeRange(length, newRangeEndLimit)];
              length += 99; // Minus 1 from the sizeChunk
          }
      
          return chunks;
      }
      
      

      【讨论】:

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