【问题标题】:How to pull an integer value from NSRange?如何从 NSRange 中提取整数值?
【发布时间】:2012-08-22 01:56:43
【问题描述】:

我有一个 NSRange,需要在这个 NSRange 的两侧将一个字符串分成两个子字符串。如何从 NSRange 中获取整数值(如索引)?

【问题讨论】:

    标签: objective-c integer nsrange


    【解决方案1】:

    NSRange 结构由两个整数组成 - locationlength

    typedef struct _NSRange {
        NSUInteger location;
        NSUInteger length;
    } NSRange;
    

    看起来locationlocation+length 是您要查找的两个表达式 - 左右子字符串的范围如下:

    NSRange prefixRange = NSMakeRange(0, myRange.location);
    NSUInteger pos =myRange.location+myRange.length;
    NSRange suffixRange = NSMakeRange(pos, myString.length - pos);
    

    【讨论】:

      【解决方案2】:

      我知道这个问题很老,但在 Swift 4(也许更早)中,NSRange 上有新的 upperBoundlowerBound 便利属性:

      print(myRange) // Range: {13, 4}    
      range.lowerBound // 13
      range.upperBound // 17
      

      希望对其他人有所帮助。

      【讨论】:

        猜你喜欢
        • 2022-06-10
        • 1970-01-01
        • 2014-10-16
        • 1970-01-01
        • 1970-01-01
        • 2019-04-10
        • 1970-01-01
        • 2016-05-15
        • 1970-01-01
        相关资源
        最近更新 更多