Цель C прочитать CSV-файл и использовать массив - PullRequest
1 голос
/ 01 апреля 2011

У меня есть CSV-файл как этот:

1#one#two#three#four; 
2#apple#tower#flower#robot;

Я читаю этот файл с этим кодом:

NSString *resourceFileName = @"PrenotazioniDb";
NSString *pathToFile =[[NSBundle mainBundle] pathForResource: resourceFileName ofType: @"txt"];
NSError *error;

NSString *fileString = [NSString stringWithContentsOfFile:pathToFile encoding:NSUTF8StringEncoding error:&error];
if (!fileString) {
    NSLog(@"Error reading file.");
} 
NSScanner *scanner = [NSScanner scannerWithString:fileString];    
[scanner setCharactersToBeSkipped:[NSCharacterSet characterSetWithCharactersInString:@"\n#; "]];

NSString *one = nil, *two = nil, *three = nil, *four = nil; 
while ([scanner scanUpToString:@"#" intoString:&one] && [scanner scanUpToString:@"#" intoString:&two] && [scanner scanUpToString:@"#" intoString:&three] && [scanner scanUpToString:@"#" intoString:&four]{


}

, но я хочу запомнить файл в массиве, Что я могуделать?Я должен использовать два массива: один для строки и один для одного слова;например, в первом массиве в позиции я храню

1#one#two#three#four;

, а во втором массиве я храню в первой позиции «1» во второй «один» в третьей «два» ext ....

Что я могу сделать?

1 Ответ

0 голосов
/ 01 апреля 2011

Вы можете использовать метод componentsSeparatedByString .

NSString *list=@"1#one#two#three#four"; 
NSArray *listItems = [list componentsSeparatedByString:@"#"];
NSLog(@"listItems= %@",listItems);

печать:

listItems= (
    1,
    one,
    two,
    three,
    four
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...