【问题标题】:Getting index of a character in NSString with offset & using substring in Objective-C在Objective-C中使用偏移量和使用子字符串获取NSString中字符的索引
【发布时间】:2011-12-07 15:48:51
【问题描述】:

我有一个字符串!

   NSString *myString=[NSString stringWithFormat:@"This is my lovely string"];

我想做的是:

  1. 假设字符串中的第一个字符在索引 0 处。转到第 11 个字符(在上面的例子中是 'l'),然后向后找到第一个出现的空格的位置(在上面的字符串中,位置如果我们从“l”向后退,第一个出现的空间位于位置 10)。让我们将此空间的索引称为“leSpace”,其值为 10。
  2. 使用 ... 将剩余的字符串子串成一个新字符串

    [myString substringFromIndex:leSpace]
    

...我希望我已经解释得很好。请帮忙,你能写一个sn-p之类的东西来帮助我完成这个任务吗?

【问题讨论】:

    标签: objective-c ios nsstring substring nsrange


    【解决方案1】:
    - (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange
    

    对于选项使用:NSBackwardsSearch

    NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch range:NSMakeRange(0, 11)];
    

    例子:

    NSString *myString=[NSString stringWithFormat:@"This is my lovely string"];
    NSRange range = [myString rangeOfString:@" " options:NSBackwardsSearch range:NSMakeRange(0, 11)];
    NSLog(@"range.location: %lu", range.location);
    NSString *substring = [myString substringFromIndex:range.location+1];
    NSLog(@"substring: '%@'", substring);
    

    NSLog 输出:

    range.location: 10
    substring: 'lovely string'
    

    当然应该有错误检查range.location不等于NSNotFound

    【讨论】:

      猜你喜欢
      • 2019-07-22
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 2011-11-05
      • 1970-01-01
      • 2015-09-18
      相关资源
      最近更新 更多