【问题标题】:How to extract the data I want in NSString?如何在 NSString 中提取我想要的数据?
【发布时间】:2010-09-06 07:55:23
【问题描述】:

我有一个这样的 NSString:

456673\t某事

但我只想提取一些东西...... 所有数据都必须是这种格式....

xxxx\tyyyy 如何根据 \t 拆分它?谢谢你。

【问题讨论】:

    标签: objective-c nsstring


    【解决方案1】:

    您可能正在寻找这个实例方法:

    - (NSArray *)componentsSeparatedByString:(NSString *)separator
    

    如果这不能满足您的需求并且您想要更强大的东西,我可以个人推荐RegexKitLite。 RegexKitLite 以类别的形式将正则表达式的功能添加到 NSString 中。

    【讨论】:

      【解决方案2】:

      为方便起见,我在 NSString 中添加了一个类别(类:NSString+Utility):

      - (NSString *)substringFromFirstOccurenceOfString:(NSString *)string {
          NSRange range = [self rangeOfString:string];
      
          if (range.location != NSIntegerMax) {
              int index = range.location + range.length;
              return [self substringFromIndex:index];
          } else {
              return self;
          }
      }
      
      - (NSString *)substringFromLastOccurenceOfString:(NSString *)string {
          NSRange range = [self rangeOfString:string options:NSBackwardsSearch];
      
          if (range.location != NSIntegerMax) {
              int index = range.location + range.length;
              return [self substringFromIndex:index];
          } else {
              return self;
          }
      }
      
      - (NSString *)substringToFirstOccurenceOfString:(NSString *)string {
          NSRange range = [self rangeOfString:string];    
      
          if (range.location != NSIntegerMax) {
              int index = range.location + range.length;
              return [self substringToIndex:index];            
          } else {
              return self;
          }
      }
      
      - (NSString *)substringToLastOccurenceOfString:(NSString *)string {
          NSRange range = [self rangeOfString:string options:NSBackwardsSearch];  
      
          if (range.location != NSIntegerMax) {
              int index = range.location;
              return [self substringToIndex:index];       
          } else {
              return self;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2021-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-29
        • 1970-01-01
        • 2023-01-01
        相关资源
        最近更新 更多