2012-04-29 25 views
8

Per il mio nuovo progetto. ho caricato il mio contenuto di file CSV come NSString. In primo luogo, ho bisogno di dividere questo da newline, quindi dividere ogni riga con una virgola. Come posso fare un loop tutto questo? Per favore potete aiutarmi?Come dividere newline da NSString in ObjectiveC

CSV Content

"^ GSPC", 1403,36, "2012/04/27", "16:32", + 3.38,1400.19,1406.64,1397.31,574422720 "^ IXIC", 3069,20, "2012/04/27", "17:30", + 18.59,3060.34,3076.44,3043.30,0

ViewController.m

NSString* pathToFile = [[NSBundle mainBundle] pathForResource: @"quotes" ofType: @"csv"]; 
NSString *fileString = [NSString stringWithContentsOfFile:pathToFile encoding:NSUTF8StringEncoding error:nil]; 
if (!fileString) { 
    NSLog(@"Error reading file."); 
} 

NSArray *array = [fileString componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; 

for(int i=0; i<[array count]; i++){  
    // 
} 
+0

Sede [questa domanda] (http://stackoverflow.com/questions/32021712/how-to-split-a- string-by-new-lines-in-swift) per risposte rapide – Suragch

risposta

13

potrebbe voler guardare in NSMutableArray.

// grab your file 
NSMutableArray *data = [[fileString componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]] mutableCopy]; 
for (int i = 0; i < [data count]; i++) 
{ 
    [data replaceObjectAtIndex: i 
        withObject: [[data objectAtIndex: i] componentsSeparatedByString: @","]]; 
} 

relazione a ciò, Dave DeLong ha una biblioteca adeguata per rispondere a questa esigenza: https://github.com/davedelong/CHCSVParser

+0

Grazie pcperini. Ma quando ho impostato questo [conteggio dati] al mio numero di tabellaOfRowsInSection, è 5, non 2. per favore aiutami a – shebi

+0

@shebi controlla il tuo file di testo (csv) all'interno di un Hex-Editor e vedi se usa \ r \ n invece di \ n. – Till