7

NSRangeがあり、このNSRangeの両側で文字列を2つのサブ文字列に分割する必要があります。NSRangeから整数値(インデックスなど)を取得するにはどうすればよいですか?

4

2 に答える 2

4

NSRangelocation構造体は、との2つの整数で構成されますlength

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

locationのように見えlocation+length、探している2つの式です。左右の部分文字列の範囲は次のとおりです。

NSRange prefixRange = NSMakeRange(0, myRange.location);
NSUInteger pos =myRange.location+myRange.length;
NSRange suffixRange = NSMakeRange(pos, myString.length - pos);
于 2012-08-27T14:52:10.197 に答える
0

私はこの質問が古いことを知っていますが、Swift 4(そしておそらくそれ以前)には新しい便利なプロパティがupperBoundあります:lowerBoundNSRange

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

うまくいけば、それは他の誰かを助けるでしょう。

于 2017-11-16T04:36:16.227 に答える