使用substringWithRange:
これにより、文字列の始点と終点を選択できます。私は各セクションをいくつかの文字でつかみます。したがって、セクション1は0〜500になり、セクション2は500〜1000になります。ここでの問題は、文の途中で途切れる可能性があることです。lineRangeForRangeのようなものを使用して、サブストリングの範囲を決定できます。
lineRangeForRange
Returns the range of characters representing the line or lines containing a given range.
- (NSRange)lineRangeForRange:(NSRange)aRange
Parameters
aRange
A range within the receiver.
Return Value
The range of characters representing the line or lines containing aRange, including the line termination characters.
編集
NSString *string = @"tjykluytjghklukytgjhkkghkj sdkjlhfkjsadgfiulgeje fuaeyfkjasdgfueghf aksjgflkj. wyruehskjluishfoeifh uasyeajhkfa uiyelkjahsdf uayekljshdf aehkfjsd. \n I iheio;fajkdsf sdfhlueshkfjskdhf ujhelkjfh. luehljkfhlsdf. leufhlkjdshfa. \n euoiywhfldsjkhf euyhfsdlkj. ewhlkjfsd. euilhfsdkjishdkjf euhjklsfd. \n";
NSLog(@"string length:%i", [string length]);
NSRange range;
range.length = [string length]/2;
range.location = 0;
NSLog(@"LineRangeForRange:%i", [string lineRangeForRange:range].length);
NSLog(@"Substring:%@", [string substringWithRange:[string lineRangeForRange:range]]);
ログ表示:
string length:295
LineRangeForRange:148
Substring:tjykluytjghklukytgjhkkghkj sdkjlhfkjsadgfiulgeje fuaeyfkjasdgfueghf aksjgflkj. wyruehskjluishfoeifh uasyeajhkfa uiyelkjahsdf uayekljshdf aehkfjsd.
つまり、LineRangeForRangeに、文字列の0から半分までの範囲を指定しました。その範囲内の最後の終了行「\n」である可能性があります。それから私はその部分文字列をつかみました