2012-04-29 42 views
8

對於我的新項目。我已經將我的csv文件內容加載爲NSString。 首先,我需要通過換行來拆分,然後用逗號分隔每行。 我如何循環所有這一切?你可以幫我嗎?如何從Objective-C的NSString中拆分換行符

CSV內容

「^ GSPC」 1403.36, 「4/27/2012」, 「下午4點32分」,+ 3.38,1400.19,1406.64,1397.31,574422720 「^ IXIC」,3069.20, 「4/27/2012」, 「下午5: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

參見[這個問題](http://stackoverflow.com/questions/32021712/how-to-split-a- Swift的答案 – Suragch 2015-08-18 03:38:26

回答

13

可能要到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: @","]]; 
} 

與此相關的,戴夫德隆有一個正確的庫,以滿足這一需求:https://github.com/davedelong/CHCSVParser

+0

謝謝你pcperini。但是,當我把這個[數據計數]設置到我的表numberOfRowsInSection,它是5,而不是2.請幫助我 – shebi 2012-04-29 08:14:28

+0

@shebi在十六進制編輯器中檢查您的文本(csv)文件,看看它是否使用\ r \ n \ n。 – Till 2012-04-29 09:01:27