【发布时间】:2012-08-22 01:56:43
【问题描述】:
我有一个 NSRange,需要在这个 NSRange 的两侧将一个字符串分成两个子字符串。如何从 NSRange 中获取整数值(如索引)?
【问题讨论】:
标签: objective-c integer nsrange
我有一个 NSRange,需要在这个 NSRange 的两侧将一个字符串分成两个子字符串。如何从 NSRange 中获取整数值(如索引)?
【问题讨论】:
标签: objective-c integer nsrange
NSRange 结构由两个整数组成 - location 和 length。
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
看起来location 和location+length 是您要查找的两个表达式 - 左右子字符串的范围如下:
NSRange prefixRange = NSMakeRange(0, myRange.location);
NSUInteger pos =myRange.location+myRange.length;
NSRange suffixRange = NSMakeRange(pos, myString.length - pos);
【讨论】:
我知道这个问题很老,但在 Swift 4(也许更早)中,NSRange 上有新的 upperBound 和 lowerBound 便利属性:
print(myRange) // Range: {13, 4}
range.lowerBound // 13
range.upperBound // 17
希望对其他人有所帮助。
【讨论】: