0

特定の単語を見つけて、対応する2行を読みたいと思います。

元 :

りんご

xxxxxxxxxxxxxxxxxx

yyyyyyyyyyyyyyyyyy

サムスン

qqqqqqqqqqqqqqqq

wwwwwwwwwwwwwwww

ノキア

ttttttttttttttttt

zzzzzzzzzzzzzzzzz

「apple」を検索すると取得したいのですがapple、2行目も(yyyyyyyy)。以下のコードで試しましたが、機能しません:

NSString *contentString = [NSString stringWithContentOfFile:path/to/your/file.txt encoding:textEncoding error:&error];

if (!error) {
    NSRange range = [contentString rangeOfString:yourKeyword];

......
4

1 に答える 1

0

ファイルを文字列で取得し、改行で区切ります。次に、必要な行を見つけて、次の 2 行も取得します。を検索したい場合はDian007、次のようなものです-

// for myfile.txt
NSString* path = [[NSBundle mainBundle] pathForResource:@"myfile" ofType:@"txt"];
NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:NULL];
NSArray *myArray = [content componentsSeparatedByString:@"\n"];

// since we want two lines more, don't count last two elements
for(int i = 0; i < ([myArray count] - 2); ++i) { 
  if([[myArray objectAtIndex:i] isEqualToString:@"Dian007"]) {
    // get i-th, (i + 1)th and (i + 2)th lines here

    // For example, to print the lines...
    NSLog(@"first item := \"%@\"", [myArray objectAtIndex:i]);
    NSLog(@"second item := \"%@\"", [myArray objectAtIndex:(i + 1)]);
    NSLog(@"third item := \"%@\"", [myArray objectAtIndex:(i + 2)]);
  }
}
于 2012-10-15T14:08:36.900 に答える