2012-04-29 29 views
8

Đối với dự án mới của tôi. tôi đã tải nội dung tệp csv của mình dưới dạng NSString. Đầu tiên, tôi cần phải chia nhỏ dòng này bằng dòng mới, sau đó tách từng dòng bằng dấu phẩy. Làm thế nào tôi có thể lặp lại tất cả điều này? Liệu bạn có thể giúp mình không?Cách tách dòng mới khỏi NSString trong ObjectiveC

Content CSV

"^ 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

Xem [câu hỏi này] (http://stackoverflow.com/questions/32021712/how-to-split-a- string-by-new-lines-in-swift) cho câu trả lời Swift – Suragch

Trả lời

13

Có thể muốn xem xét 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: @","]]; 
} 

Relatedly, Dave DeLong có một thư viện thích hợp để giải quyết nhu cầu này: https://github.com/davedelong/CHCSVParser

+0

Cảm ơn bạn pcperini. Nhưng, khi tôi đặt [số liệu] này thành bảng numberOfRowsInSection của tôi, nó là 5, không 2. hãy giúp tôi – shebi

+0

@shebi kiểm tra tệp văn bản (csv) của bạn trong Hex-Editor và xem nó có sử dụng \ r \ n thay thế không của \ n. – Till

Các vấn đề liên quan